vini123

博客园 首页 新随笔 联系 订阅 管理
import flash.display.BitmapData;
import flash.display.Sprite;
import flash.display.Bitmap;

var bd:BitmapData = new BitmapData(20,20,false,0);

for (var i:int=0; i<10; i++)
{
    bd.setPixel(i,0,0xff0000);
}

for (i=10; i<20; i++)
{
    bd.setPixel(i,0,0x00ff00);
}


//位图数据的两种显示方式 。给Bitmap或 beginBitmapFill
var bitmap:Bitmap = new Bitmap(bd); addChild(bitmap); bitmap.x = 10; bitmap.y = 10; var sp:Sprite=new Sprite(); sp.graphics.beginBitmapFill(bd); sp.graphics.drawRect(0,0,100,100); sp.graphics.endFill(); addChild(sp); sp.x = stage.stageWidth / 2 - sp.width / 2; sp.y = stage.stageHeight / 2 - sp.height / 2;


图形简单,同屏数量不多,渐变色少,移动设备(GPU支持),适用
MC矢量渲染。
 
图形复杂,同屏数量多,颜色复杂,适用位图渲染。
 
最新的FlashPlayer已针对位图进行过优化,直接移动bitmap比自己编
copyPixel效率要高。
 
MC大量占用内存,而如果是相同的数据,无论对象有多少个,位图渲
染基本不会增加内存。
 
针对自己的游戏项目,选择一款适合自己的渲染方法,才是正确的做
法。
 
 
******************矢量渲染优化********************
cacheAsBitmap
MC不会发生旋转、缩放、变形等,只改变XY坐标
 
mouseChildren
关闭MC子级的鼠标及键盘相应事件
 
mouseEnabled
关闭MC本身的鼠标及键盘相应事件
posted on 2012-10-29 14:46  黑夜丶残枫  阅读(188)  评论(0)    收藏  举报