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 が述べたように、attachBitmap を addChild に置き換えます。

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 に答える