0

フラッシュムービーを作成しています。背景画像をSWFにロードし、BitmapクラスとBitmapDataクラスを使用してステージにペイントしたいと思います。

私はこれに適切に近づいていますか?ローダーからBitmapDataに画像を取得するコードは何ですか?また、画像を背景に表示するにはどうすればよいですか?

BitmapData / Bitmapのメタファー、説明、コードサンプル、チュートリアルリンクを理解したことはありません。

4

1 に答える 1

1

Loaderクラスにはcontentプロパティがあり、これを介してロードされたコンテンツにアクセスします(画像またはswfファイル)。

画像を読み込む場合、読み込みが完了すると、contentプロパティを介してBitmapインスタンスにアクセスできますが、コンテンツはDisplayObjectであるため、キャストする必要があります。

例えば

function onImageLoader(event:Event):void{
   trace(Bitmap(myImageLoader.content));
}

BitmapData / Bitmapについて:

  • BitmapData には、主にピクセル情報(ピクセル数、色、または各ピクセルなど)が含まれており、それらを操作できます。BitmapDataはこれですべてですが、DisplayObjectではないため、表示できません。
  • 一方、 ビットマップはDisplayObjectであるため、ディスプレイリストなどに追加できます。すべてのビットマップインスタンスには、 bitmapDataプロパティを介してアクセスできるBitmapDataインスタンスが含まれています。

つまり、Bitmapインスタンスを使用して画像をディスプレイリストに追加し、そのbitmapDataプロパティを使用してそのピクセルにアクセスして操作します。

ローダーに戻ると、ローダーインスタンスを表示リストに追加するか、ローダーの内容を追加することができます。

BitmapとBitmapDataを使用した意味の簡単な例を次に示します。

//this would be your image Loader's complete handler
function imageLoaded(event:Event):void{
   var bitmap:Bitmap = Bitmap(imageLoader.content);
   var data:BitmapData = bitmap.bitmapData;
   trace("first pixel's colour is " + data.getPixel(0,0).toString(16));
}

HTH

于 2010-11-09T01:28:37.407 に答える