私のコードはここにあります:
graphics.clear();
graphics.lineStyle(1, 0, 1);
graphics.moveTo(cannon.x, cannon.y);
graphics.lineTo(mouseX, mouseY);
何も描いていないようです。ところで、それは現在ENTER_FRAMEにあります。
私のコードはここにあります:
graphics.clear();
graphics.lineStyle(1, 0, 1);
graphics.moveTo(cannon.x, cannon.y);
graphics.lineTo(mouseX, mouseY);
何も描いていないようです。ところで、それは現在ENTER_FRAMEにあります。
次のコードを参照してください。これは私のシンプルなコード描画アプリです。そして、以下のコードを貼り付けます。
startX
startY
代わりに、object()に変更する必要がありますcannon
。
前の行を削除したい場合。this.graphics.clear();
atonDrawReady
ハンドラーを呼び出します。
var isDrawingReady:Boolean;
var startX:Number, startY:Number;
stage.addEventListener(MouseEvent.MOUSE_DOWN, onDrawReady);
stage.addEventListener(MouseEvent.MOUSE_UP, onDrawStop);
stage.addEventListener(MouseEvent.MOUSE_MOVE, onDraw);
function onDrawReady(e:MouseEvent):void
{
startX = e.stageX;
startY = e.stageY;
isDrawingReady = true;
}
function onDraw(e:MouseEvent):void
{
if(isDrawingReady)
{
this.graphics.lineStyle(2,0xff0000);
this.graphics.moveTo(startX,startY);
this.graphics.lineTo(e.stageX,e.stageY);
startX = e.stageX;
startY = e.stageY;
}
e.updateAfterEvent();
}
function onDrawStop(e:MouseEvent):void
{
isDrawingReady = false;
}
マウスを動かすときに常に線を引きたい場合。次のように試しました:
var startX:Number, startY:Number;
stage.addEventListener(MouseEvent.MOUSE_MOVE, onDraw);
function onDraw(e:MouseEvent):void
{
this.graphics.lineStyle(2,0xff0000);
this.graphics.moveTo(startX,startY);
this.graphics.lineTo(e.stageX,e.stageY);
startX = e.stageX;
startY = e.stageY;
e.updateAfterEvent();
}