0
我在书中的脚本动画教室中使用示例教程4,但是通过向舞台添加CLEAR按钮来修改它。带有清除按钮的动作脚本绘图
每当我测试所有的功能工作,但是,我能够在我的按钮的顶部绘制。理想情况下,当用户绘制时,颜色应该在按钮下方。
在时间轴中,我有背景,按钮和动作的图层。我在下面添加了编码以帮助更快地解决问题。谢谢!
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'。 – 2013-03-20 21:56:16
谢谢迈克!你一直乐于助人! – PrgmRNoob 2013-03-21 00:36:55