Flashムービー上でビットマップに絵を描くには,BitmapDataクラスに用意された各種メソッドを使用します。すでにどこかに用意してある絵を描きこみたい場合には,drawメソッドを使用し,ゼロから描画したい場合には,setPixelメソッドや,fillRectメソッドを使います。

ビットマップに絵を描き加える

 前回は,ActionScript3.0を使って,ビットマップデータを扱うためにBitmapDataクラスを使用し,そのインスタンスを生成する方法をご紹介しました。今回は,用意したインスタンスに対して,絵を描き加えてみましょう。

 次のムービーは,いくつか用意された素材を,スタンプのようにキャンパスに貼り付けて絵を作成できるムービーです(図1)。

図1●ビットマップに絵を描きこむ
図1●ビットマップに絵を描きこむ
(クリックすると別ウィンドウでムービーを表示します)

 このように,Flashムービー上でビットマップに絵を描き加えるには,BitmapDataクラスに用意された各種メソッドを使用します。

使い勝手の良いdrawメソッド

 それでは,実際にビットマップに絵を描き加えて行きましょう。BitmapDataクラスには,絵を描き加えて行くために,以下のようなメソッドが用意されています(表1)。

表1●BitmapDataクラスに用意された各種メソッド(抜粋)
メソッド 説明
draw ビットマップ上に絵を描きます
setPixel 任意のピクセルの色をRGB値で指定します
setPixel32 任意のピクセルの色をARGB値で指定します
fillRect 矩形状に塗りつぶします
floodFill 任意の座標を始点にして塗りつぶします
copyPixels あるビットマップデータの任意の範囲を,別のビットマップデータにコピーします

 この中で,ビットマップに絵を描き加える際に,もっとも手軽に使用できるメソッドは,「drawメソッド」です。drawメソッドは,任意のビットマップに画面上のムービークリップ(MovieClip)や,スプライト(Sprite),シェイプ(Shape),さらにはビットマップ(Bitmap,BitmapData)などの,およそActionScriptで「絵」を持つものを描画するメソッドです。使い方も簡単で,引数として,ビットマップに描画したい対象を指定するだけです。

■drawメソッドの最も簡単な構文
BitmapData.draw(描くモノ);

 実際にdrawメソッドを使用してみましょう。新規にFlashドキュメントを作成し,任意の名前で保存します。ステージ上に適当に絵を描き,ムービークリップとしてシンボル化します。

 このとき,シンボル化する際には,シンボルの「基準点」を左上にしておきます。これで,画面上にはMovieClipクラスのインスタンスがひとつ配置された状態になりますね。このインスタンスに「mc1」とインスタンス名を付けておきましょう(図2)。

図2●インスタンスの準備
図2●インスタンスの準備