FlashのActionScriptでビットマップを扱う場合には,いろいろなクラスを使って,読み込みから,操作,さらには位置の調整などを行うことができます。今回は,ビットマップ・ファイルを読み込んで,加工してから表示する方法について学習しましょう。さらに,移動や回転の処理をシンプルに考える方法についても紹介します。


 ActionScriptでビットマップ・データを扱うには,BitmapDataクラスを使用し,それを表示するには,Bitmapクラスを使用すれば良いことは,前回・前々回などでご紹介してきましたね。今回は,その他,ビットマップを扱う場合によく使う処理と,その実現方法について見ていきます。

図1●ビットマップ画像を操作する
図1●ビットマップ画像を操作する
(クリックすると別ウィンドウでムービーを表示します)

 図1のムービーは,ムービーと同じディレクトリにある「image.png」という名前の画像ファイルを読み込み,表示する物です。読み込んだ画像は,自由にドラッグして移動できます。また,読み込んだ画像に対して,星型のインスタンスの位置を「基準点」として回転できるようにしています。

Loaderクラスを使った画像の外部読み込み

 ビットマップ画像を使用する場合には,使用するビットマップ画像をFlashドキュメント上にあらかじめ用意しておくほかに,外部の画像ファイルを読み込んで利用したい場合があります。実は,このように画像ファイルを読み込んで表示する場合には,BitmapDataクラスや,Bitmapクラスを使わなくても,「Loaderクラス」を使用すればOKです。Loaderクラスは,画像やFlashムービーなどを,Flashムービー再生時に動的に読み込んで表示するためのクラスです。

 例えば,図2のように,Flashドキュメント(Flashムービー・swfファイル)と同じディレクトリに,「image.png」という画像ファイルを用意してあるとします。

図2●画像ファイルを用意
図2●画像ファイルを用意

 この画像ファイルを読み込んで表示するには,Flashドキュメント側のメインのタイムラインに,次のようにコードを記述すればOKです(リスト1)。実行すると図3のようになります。

リスト1●外部画像ファイルを読み込んで表示する
// Loaderインスタンスの生成
var picLoader:Loader = new Loader();
//表示位置を指定して表示リストに追加
picLoader.x = 80;
picLoader.y = 50;
addChild(picLoader);

//ファイル名を指定して読み込み
var request:URLRequest = new URLRequest("image.png");
picLoader.load(request);

図3●外部画像ファイルを読み込んで表示する
図3●外部画像ファイルを読み込んで表示する
(クリックすると別ウィンドウでムービーを表示します)

 単に表示するだけであれば,Loaderクラスのインスタンスをひとつ,ステージ上に配置し,そこにURLRequestクラスを使って,画像へのパスを作成し,それを引数にして「loadメソッド」で読み込んであげればOKです。