flash位图技术研究篇(4): flash舞台屏幕录制
2010-03-02 00:00:00 来源:WEB开发网然后写一个屏幕类,用于记录flash舞台的屏幕,包括常见的复制位图的方法
public class FScreen extends EventDispatcher;继承EventDispatcher类
public function copyScreen(sorce:IBitmapDrawable,Width:Number,Height:Number):void
开始播放的方法
public function play():void
清除画面的办法
public function removeScreen():void
还有获取图片阵列的办法
public function getImageList():Vector.<BitmapData>
1. package
2. {
3. //录制flash 屏幕
4. import flash.display.BitmapData;
5. import flash.display.Sprite;
6. import flash.geom.Rectangle;
7. import flash.utils.ByteArray;
8. import flash.display.IBitmapDrawable;
9. import flash.events.*;
10. import flash.display.GraphicsBitmapFill;
11. public class FScreen extends EventDispatcher
12. {
13.
14. private var list:Vector.<BitmapData>=new Vector.<BitmapData>();//图片阵列
15. private var count:int=0;
16. public var contain:Sprite=new Sprite();
17. private var IsOver:Boolean=true;
18. public function FScreen()
19. {
20.
21.
22. }
23.
24. //开始播放
25. public function play():void
26. {
27. if (IsOver)
28. {
29. IsOver=false;
30. trace("运行");
31. contain.addEventListener(Event.ENTER_FRAME,PlayHandler);
32. }
33. }
34. private function PlayHandler(event:Event):void
35. {
36. trace("wwwwwww");
37. if (list.length>count)
38. {
39. contain.graphics.clear();
40. contain.graphics.beginBitmapFill(list[count]);
41. contain.graphics.drawRect(0, 0, list[count].width, list[count].height);
42. contain.graphics.endFill();
43. count++;
44.
45. }
46. else
47. {
48. contain.removeEventListener(Event.ENTER_FRAME,PlayHandler);
49. count=0;
50. IsOver=true;
51. }
52.
53. }
54.
55. //结束录制
56. public function stop():void
57. {
58. contain.removeEventListener(Event.ENTER_FRAME,PlayHandler);
59. IsOver=true;
60. }
61.
62. //复制屏幕像素,宽度和高度可以指定
63. public function copyScreen(sorce:IBitmapDrawable,Width:Number,Height:Number):void
64. {
65. var bitmapdata:BitmapData=new BitmapData(Width,Height);
66. bitmapdata.draw(sorce);
67. list.push(bitmapdata);
68. }
69.
70. //删除屏幕当中的数据
71.
72. public function removeScreen():void
73. {
74. while (list.length>0)
75. {
76. list.pop();
77. }
78. contain.graphics.clear();
79. }
80.
81. //获取图片阵列
82. public function getImageList():Vector.<BitmapData>
83. {
84. return list;
85.
86. }
87.
88. }
89.
90. }
- ››FLASH不等于运算符!=的使用实例
- ››FLASH不全等运算符!==
- ››FLASH字符串分隔符运算符
- ››FLASH% 模运算符
- ››Flash+、++、+= 加法运算符
- ››Flash, 逗号运算符
- ››flash中的-、--、-=减法运算符
- ››Flash的-Infinity 常数、.点运算符、/ 除法运算符...
- ››Flash两种注释方法/*..*/ 和// 注释行分隔符运算符...
- ››Flash的/=除法赋值运算符、=赋值运算符、== 等于运...
- ››Flash之?: 条件运算符、^ 按位 XOR 运算符、^= 按...
- ››Flash的_framesloaded代码示例
更多精彩
赞助商链接