flash位图技术研究篇:缓冲技术
2010-03-02 00:00:00 来源:WEB开发网图中的飞机已经被复制到缓冲区里面去了。
缓冲区里面复制这飞机的像素,并进行了显示copyPixels。如果还不觉得酷的话,我们再引入一些让飞机进行运动,并每一帧进行绘制。
2.3飞机运行
首先:addEventListener(Event.ENTER_FRAME,Run);进行监听。
private function Run(e:Event):void
{
}
注意到我们private var position:Point=new Point(250,200);// 指定像素位置这个属性,我们每一帧改变他的贴图位置,这样我们需要每一帧进行重写绘制,场景的飞机就好像会一样。
1. package
2. {
3. import flash.display.*;
4. import flash.display.Bitmap;
5. import flash.display.BitmapData;
6. import flash.events.*;
7. import flash.geom.*;
8.
9. public class Example2 extends Sprite
10. {
11. private var backBuffer:BitmapData=new BitmapData(550,400,false);//建立一个缓冲区
12. private var clearColor:uint=0x0000FF;//指定填充的颜色
13. private var myplane:plane=new plane(59,43);//我们在flash 库里面的资源,是bitmapdata的一个子类
14. private var position:Point=new Point(250,200);// 指定像素位置
15. public function Example2()
16. {
17.
18. addEventListener(Event.ENTER_FRAME,Run);
19. }
20. private function init():void
21. {
22. backBuffer.fillRect(backBuffer.rect, clearColor);//填充
23. backBuffer.copyPixels(myplane,myplane.rect, position, myplane.bitmapAlpha, new Point(0, 0), true);
24. var iamge:Sprite=new Sprite();//建立一个位图
25. addChild(iamge);//显示位图
26. iamge.graphics.clear();
27. iamge.graphics.beginBitmapFill(backBuffer, null, false, false);//使用 填充位图的方法 填充缓冲区
28. iamge.graphics.drawRect(0, 0, stage.stageWidth, stage.stageHeight);//画出矩形
29. iamge.graphics.endFill();//结束填充
30. }
31.
32. private function Run(e:Event):void
33. {
34. init();
35. position.x+=5;//修改贴图x轴位置
36. position.y+=3;//修改贴图y轴位置
37.
38. }
39.
40.
41. }
42. }
- ››FLASH不等于运算符!=的使用实例
- ››FLASH不全等运算符!==
- ››FLASH字符串分隔符运算符
- ››FLASH% 模运算符
- ››Flash+、++、+= 加法运算符
- ››Flash, 逗号运算符
- ››flash中的-、--、-=减法运算符
- ››Flash的-Infinity 常数、.点运算符、/ 除法运算符...
- ››Flash两种注释方法/*..*/ 和// 注释行分隔符运算符...
- ››Flash的/=除法赋值运算符、=赋值运算符、== 等于运...
- ››Flash之?: 条件运算符、^ 按位 XOR 运算符、^= 按...
- ››Flash的_framesloaded代码示例
更多精彩
赞助商链接