使わずBitmapData.draw()
に; 表示リストのレンダリングを停止し、適切と思われるときにレンダリングを実行することは可能ですか (それが表示リスト全体または個々の DisplayObjects であるかどうか)。
BitmapData.draw()
そうでない場合、これを達成するための最良の方法は何ですか (ステージに追加されていない DisplayObjects をレンダリングするために使用するオプションを含めて)?
使わずBitmapData.draw()
に; 表示リストのレンダリングを停止し、適切と思われるときにレンダリングを実行することは可能ですか (それが表示リスト全体または個々の DisplayObjects であるかどうか)。
BitmapData.draw()
そうでない場合、これを達成するための最良の方法は何ですか (ステージに追加されていない DisplayObjects をレンダリングするために使用するオプションを含めて)?
を使用してマウス/キーボード イベントの後にレンダリングを強制することはできe.updateAfterEvent()
ますが、表示リストが画面に再描画されるのを防ぐことはできません。あなたの最善の策は次のとおりです。
holder
スプライトに追加します。これは、ステージの表示リストから外れています。Bitmap
に関連付けられた を追加します。BitmapData
draw()
ときはいつでも、通常動作するのとまったく同じレンダラーによってラスタライズされますholder
。BitmapData
ラスタライズ設定をより詳細に制御できるというだけです。以下を試すか、詳細についてはこれを参照してください。
function snapClip( clip:DisplayObject ):BitmapData
{
var bounds:Rectangle = clip.getBounds( clip );
var bitmap:BitmapData = new BitmapData( int( bounds.width + 0.5 ), int( bounds.height + 0.5 ), true, 0 );
bitmap.draw( clip, new Matrix(1,0,0,1,-bounds.x,-bounds.y) );
return bitmap;
}