ASが運営するWebサイトに飛びます

2008年02月11日

Loaderで読み込んだオブジェクトをビットマップデータとして複製する。

Loaderでロードした画像は、一度に二つ以上表示できません。

ですが、BitmapDataとしてなら複製し、同時に二つ以上、表示する事も可能です。

今回は、Loaderでロードした画像をビットマップデータとして書き出すコードを掲載します。

手順

Loaderオブジェクトがファイルをロード

ロード完了後、BitmapData オブジェクトを定義し、widthとheightをLoaderのwidthとheightに設定する

BitmapData.draw(lo)。BitmapData.draw()メソッドの引数にLoader()オブジェクトを代入する

Bitmapオブジェクトを定義。生成時の引数に上記のBitmapDataオブジェクトを代入。

以上の流れでLoaderでロードしたオブジェクトを複製する事ができます。

//画像をロードするLoaderオブジェクト
var my_lo:Loader=new Loader();

my_lo.load(new URLRequest("sample.jpg"));

my_lo.contentLoaderInfo.addEventListener(Event.COMPLETE,coHabdler)

addChild(my_lo)

function coHabdler(evt:Event)
{
trace("オブジェクトのロード完了");

//BitmapDataオブジェクトを複製する
var my_bmd:BitmapData = new BitmapData(my_lo.width, my_lo.height);

//BitmapDataにLoaderのデータを複製する
my_bmd.draw(my_lo);

//Bitmapオブジェクトを生成し引数にLoaderデータを複製したBitmapDataを代入

var my_bm:Bitmap = new Bitmap(my_bmd);

//
my_bm.x+=300;

addChild(my_bm);

}
posted by 神風記 at 01:51| ビットマップ | このブログの読者になる | 更新情報をチェックする