2
我試圖寫一個簡單的AS3繪圖類,但它不工作。甚至沒有事件發生。可能是什麼問題呢?的Actionscript徒手繪畫類不工作
用法:
var drawingBoard:Drawing = new Drawing();
drawingBoard.x = 0;
drawingBoard.y = 0;
drawingBoard.width = 200;
drawingBoard.height = 100;
addChild(drawingBoard);
類:
都設置一個空的Sprite的width/height
沒有做任何事情的
package {
import flash.display.Shape;
import flash.display.Sprite;
import flash.events.MouseEvent;
public class Drawing extends Sprite {
private var prevX:Number = 0;
private var prevY:Number = 0;
private var board:Shape = new Shape();
public function Drawing() {
trace("Drawing initialized.");
addChild(board);
addEventListener(MouseEvent.MOUSE_DOWN, startDrawing);
addEventListener(MouseEvent.MOUSE_UP, stopDrawing);
addEventListener(MouseEvent.MOUSE_OUT, stopDrawing);
}
private function startDrawing(event:MouseEvent):void {
trace("Start drawing.");
addEventListener(MouseEvent.MOUSE_MOVE,handleDrawing);
}
private function stopDrawing(event:MouseEvent):void {
trace("Stop drawing.");
prevX = 0;
prevY = 0;
removeEventListener(MouseEvent.MOUSE_MOVE,handleDrawing,false);
}
private function handleDrawing(event:MouseEvent):void {
trace("Handling drawing.");
if (prevX == 0 || prevY == 0) {
prevX = event.localX;
prevY = event.localY;
} else {
board.graphics.lineStyle(10, 0x000000, 1);
board.graphics.moveTo(prevX, prevY);
board.graphics.lineTo(event.localX, event.localY);
prevX = event.localX;
prevY = event.localY;
}
}
}
}
當你的繪圖精靈開始就註冊了一些事件,並且becaise有沒有任何內容,你不能接收任何事件,你應該爲waith添加到舞臺活動再添加這些事件舞臺上,或者你可以添加畫布背景這個精靈。 – 2013-03-19 14:24:45