BitmapData
API Reference > flash.display > BitmapData
BitmapData
Flash描画用の画像データ
フィールド
width:Int : 幅
height:Int : 高さ
rectangle:Rectangle<Int> : 矩形
transparent:Bool : 透過するかどうか
メソッド
new() : コンストラクタ
- 引数
- width:Int : 幅
- height:Int : 高さ
- ?transparent:Bool : 透過フラグ
- ?fillcolor:Int : 塗りつぶし色
fillRect() : 矩形で塗りつぶす
- 引数
- r:Rectangle<Int> : 矩形
- color:Int : 塗りつぶし色
copyPixels() : イメージを高速コピーする
- 引数
- sourceBitmapData:BitmapData : 転送元画像
- sourceRect:Rectangle : sourceBitmapDataの矩形範囲を、Rectangle 型で指定
- destPoint:Point : ターゲット側の配置座標をPoint 型で指定
- ?alphaBitmapData:BitmapData : 2枚目のsourceを指定、アルファ成分のみ作用する(第01ソースと乗算される)
- ?alphaPoint:Point : 2枚目のsourceの矩形範囲をPoint 型で指定(幅と高さはsourceRectの値と同じになる)
- ?mergeAlpha:Boolean=false : アルファブレンドフラグ。true で有効、false で無効。デフォルトは false
draw() : BitmapDataへの描画
- 引数
- source:Dynamic : 転送元画像
- ?matrix:flash.geom.Matrix : 描画行列
- ?colortrans:flash.geom.ColorTransform : カラー値調整オブジェクト
- ?blendMode:Dynamic : ブレンド描画モード
- ?clipRect:Rectangle<Int> : ???
- ?smooth:Bool : スムージングフラグ
- 戻り値:Void
copy
複数の矩形を組み合わせた画像を作る方法
FlxSprite.makeGraphic() は単純な矩形しか作ることができません。 複数の矩形を組み合わせた画像を作る場合には BitmapData に矩形を組み合わせた画像を転送する必要があります
fillRect() で作る場合
Rectangleを使って矩形領域を指定し、転送を行います。
// 座標(4, 0)に、4x2のサイズで転送します var rect = new Rectangle(4, 0, 4, 2); // 灰色の矩形を転送します bmp.fillRect(rect, FlxColor.GRAY);
draw() で作る場合
BitmapDataを作り、Matrixの指定で転送します。 転送元の画像を回転させたりブレンドモード指定で転送できるので、柔軟に描画を行うことができます。
※ただし、重たい処理なので速度には注意が必要です
// 24x8 の白い矩形画像を作る var bmp:BitmapData = new BitmapData(8 * 3, 8, false, FlxColor.WHITE); // 白、黒、白の画像にする // 8x8の黒い画像を作る var black8x8 = new BitmapData(8, 8, false, FlxColor.BLACK); // (8, 0)の座標に黒い画像を転送する bmp.draw(new BitmapData(black8x8, new Matrix(1, 0, 0, 1, 8, 0));
参考リンク
BitmapDataについてはこのページが詳しいです。