好吧,想法很簡單,在舞臺上設置按鈕,點擊按鈕改變顏色來繪製。我試圖學習閃光&動作,並不確定我的問題在哪裏,但我無法弄清楚如何做到這一點。在按鈕actionscript 3,設置顏色變量onClick的按鈕
package {
import flash.display.Sprite;
import flash.events.MouseEvent;
public class Artist extends Sprite {
public var drawing:Boolean;
public var colorArray:Array;
public var dc;
public function colors() {
colorArray = ["0xFF0000","0xFFA500","0xFFFF00","0x00FF00","0x0000FF","0x4B0082","0x8F00FF","0xFF69B4","0x00CCFF","0x008000","0x8B4513"];
for (var i:int = 0; i < colorArray.length; i++) {
this["btn_" + i].addEventListener(MouseEvent.CLICK, set_color);
}
}
public function set_color(e:MouseEvent):void {
dc = colorArray;
}
public function Artist() {
graphics.lineStyle(10,dc);
drawing = false;
stage.addEventListener(MouseEvent.MOUSE_DOWN, startDrawing);
stage.addEventListener(MouseEvent.MOUSE_MOVE, draw);
stage.addEventListener(MouseEvent.MOUSE_UP, stopDrawing);
}
public function startDrawing(event:MouseEvent):void {
graphics.moveTo(mouseX, mouseY);
drawing = true;
}
public function draw(event:MouseEvent) {
if(drawing) {
graphics.lineTo(mouseX,mouseY);
}
}
public function stopDrawing(event:MouseEvent) {
drawing = false;
}
}
}
你接近,但點擊一個按鈕,應該選擇從陣列的顏色字符串,權利,使按鈕應該將任顏色數組中的顏色或索引,它將在處理程序中用於設置「當前顏色」。在set_color處理程序中,e.target將作爲單擊的按鈕,您可以從名稱btn_1,btn_2等獲取索引。colorArray應該超出colors方法,例如。 Artist類的受保護成員:'protected var colorArray:Array',並且使用數字而不是字符串來表示顏色'0xFF0000',而不是'「0xFF0000」'。 –