2

不是一个在这里有点挣扎的编码器:

尝试在下一帧中绘制当前帧作为位图以提高 CPU 效率。在 AS2 中,这段代码就像一个魅力:

import flash.display.*;
// # create the bitmap
var tBitmapData = new BitmapData(400, 200, true, 0x00000000);

// # now draw this movieClip's content to the bitmap
tBitmapData.draw(this);
// # 2nd frame should be blank!
nextFrame();
// # now attach the bitmap you made to this movieclip
this.attachBitmap(tBitmapData, 1, "auto", true);

只需要知道如何为 AS3 重写这个。谢谢!

4

1 回答 1

1

首先,在 AS3 中BitmapData不是 DisplayObject。您需要将其包装到Bitmap对象中。然后你用 George Profenza 提到的 addChild 替换 attachBitmap:

import flash.display.*;
// # create the bitmap
var tBitmapData:BitmapData = new BitmapData(400, 200, true, 0x000000);

// # now draw this movieClip's content to the bitmap
tBitmapData.draw(this);
// # 2nd frame should be blank!
nextFrame();
// # now attach the bitmap you made to this movieclip
this.addChild(new Bitmap(tBitmapData));

也尝试输入您的变量 ( var tBitmapData:BitmapData)。这提高了性能并允许编译器捕获一些错误。

于 2012-11-21T20:32:45.283 回答