使い方がよくわからないと思いますBitmapData.draw()
。
BitmapData.draw()
All DisplayObject(Sprite、MovieClip、Shape、Text、Video ...)の描画が可能です。彼らはIBitmapDrawableを持っているからです(詳細はadobeドキュメントを参照してください最高の先生です)。
ペイントボードを実装したい場合。以下のコードを参照してください。非常にシンプルなペイントボード。しかし、いくつかはあなたを助けます。
コピー&ペーストしてみてください。
import flash.display.Sprite;
import flash.events.Event;
import flash.display.BitmapData;
import flash.display.Bitmap;
import flash.events.MouseEvent;
var isDraw:Boolean = false;
var brush:Sprite =new Sprite();
brush.graphics.beginFill(0x0000ff);
brush.graphics.drawCircle(0,0,5);
brush.graphics.endFill();
var canvasData:BitmapData = new BitmapData(600,400, false);
var canvas:Bitmap = new Bitmap(canvasData);
addChild(canvas);
stage.addEventListener(MouseEvent.MOUSE_DOWN, onDrawStart);
stage.addEventListener(MouseEvent.MOUSE_UP, onDrawStop);
stage.addEventListener(Event.ENTER_FRAME, render);
function onDrawStart(e:MouseEvent):void
{
isDraw = true;
}
function onDrawStop(e:MouseEvent):void
{
isDraw = false;
}
function render(e:Event):void
{
if(!isDraw) return;
brush.x = mouseX;
brush.y = mouseY;
canvasData.draw(brush,brush.transform.matrix);
}