Я следую примеру урока 4 из класса ActionScript в книге, но изменяя его, добавив кнопку CLEAR на сцену.Рисунок чертежа w/clear button
Всякий раз, когда я проверяю все функции, но, я могу нарисовать верхнюю часть моей кнопки. В идеале, когда пользователь рисует, цвета должны идти под кнопкой.
На временной шкале у меня есть слои для фона, кнопки и действий. Я добавил код ниже, чтобы быстрее решить проблему. Благодаря!
package {
import flash.display.MovieClip;
public class Ellipse extends MovieClip {
// constructor
public function Ellipse(w:Number=40,h:Number=40,color:Number=0xff0000) {
graphics.beginFill(color);
graphics.drawEllipse(0, 0, w, h);
graphics.endFill();
}
} // end class Ellipse
} // end package
import flash.events.MouseEvent;
var color:Number;
stage.addEventListener(MouseEvent.MOUSE_DOWN, startDrawing);
stage.addEventListener(MouseEvent.MOUSE_UP, stopDrawing);
function startDrawing(e:MouseEvent):void {
stage.addEventListener(MouseEvent.MOUSE_MOVE, makeShapes);
color = Math.random() * 0xFFFFFF;
}
function stopDrawing(e:MouseEvent):void {
stage.removeEventListener(MouseEvent.MOUSE_MOVE, makeShapes);
}
function makeShapes(e:MouseEvent):void {
var ellipse:Ellipse = new Ellipse(10, 10, color);
stage.addChild(ellipse);
ellipse.x = mouseX;
ellipse.y = mouseY;
}
btnClear.addEventListener(MouseEvent.CLICK, clearBoard);
function clearBoard(e:MouseEvent)
{
for (var i:int = stage.numChildren-1; i >= 1; i--) {
stage.removeChildAt (i);
}
}
Обратите внимание, что считается неправильной практикой добавлять вещи непосредственно к 'stage'. Вместо этого подумайте о том, чтобы добавить их в 'root'. –
Спасибо, Майк! Вы были более чем полезны! – PrgmRNoob