使用循环创建的SpikesImage
多个实例:
for(var i:int = 0; i < 10; i++)
{
var spikes:Bitmap = new SpikesImage();
spikes.x = i * spikes.width;
addChild(spikes);
}
尽管这会消耗内存,远远大于如果你有在舞台上的一个位图,并使用copyPixels()
多次绘制SpikesImage
的数据。
的一个例子:
var screen:Bitmap = new Bitmap();
screen.bitmapData = new BitmapData(stage.stageWidth, stage.stageHeight);
var spikes:Bitmap = new SpikesImage();
var drawPosition:Point = new Point();
var drawRect:Rectangle = spikes.bitmapData.rect;
for(var i:int = 0; i < 10; i++)
{
drawPosition.x = i * spikes.width;
screen.bitmapData.copyPixels(
spikes.bitmapData,
drawRect,
drawPosition
);
}
addChild(screen);
这种方法的倒台不过是你失去变换图形以任何方式(旋转,缩放)的能力。
你能给我一个如何使用copyPixels()的例子吗? – Craig
@克雷格当然,看看这个。 – Marty
另外,我不明白你给出的循环例子是如何工作的。变量i只是一个整数,你不能将一个x位置分配给一个整数。 – Craig