0

使わずBitmapData.draw()に; 表示リストのレンダリングを停止し、適切と思われるときにレンダリングを実行することは可能ですか (それが表示リスト全体または個々の DisplayObjects であるかどうか)。

BitmapData.draw()そうでない場合、これを達成するための最良の方法は何ですか (ステージに追加されていない DisplayObjects をレンダリングするために使用するオプションを含めて)?

4

1 に答える 1

0

を使用してマウス/キーボード イベントの後にレンダリングを強制することはできe.updateAfterEvent()ますが、表示リストが画面に再描画されるのを防ぐことはできません。あなたの最善の策は次のとおりです。

  1. すべてのオブジェクトを 1 つのholderスプライトに追加します。これは、ステージの表示リストから外れています。
  2. ステージBitmapに関連付けられた を追加します。BitmapData
  3. レンダリングを「強制」したいdraw()ときはいつでも、通常動作するのとまったく同じレンダラーによってラスタライズされますholderBitmapDataラスタライズ設定をより詳細に制御できるというだけです。

以下を試すか、詳細についてはこれを参照してください。

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;
}
于 2012-04-28T08:40:06.723 に答える