[问题] 清除以graphics绘图的物件

楼主: OrcaKW (Orca.小元)   2014-06-21 17:04:47
最近在做一个小软件,其中有一个功能是可以清除上一次绘图的图形,
现在遇到“清不干净”的问题……
先附上用来测试这功能的简易程式码
var squareSize:uint = 50;
var square:Shape = new Shape();
var shift_pix = 100; //位移量
var move_pix = 0;
button_2.addEventListener(MouseEvent.CLICK, draw_it);
function draw_it(event:MouseEvent):void
{
square.graphics.beginFill(0xFF0000, 0.5);
square.graphics.drawCircle(move_pix, move_pix, squareSize);
square.graphics.beginFill(0x00FF00, 0.5);
square.graphics.drawRect(100, move_pix, squareSize, squareSize);
square.graphics.beginFill(0x0000FF, 0.5);
square.graphics.drawRect(200, move_pix, squareSize, squareSize);
square.graphics.endFill();
stage.addChild(square);
move_pix += shift_pix; //每次清空画面之后,重新产生的位置会不同
}
button_1.addEventListener(MouseEvent.CLICK, clear_it);
function clear_it(event:MouseEvent):void
{
stage.removeChild(square); //应该是问题点?
}
程式执行之后,
当按下button_1,是可以让画面看起来清空了。
可是一按下button_2,除了新图形之外,却发现上一次画的图根本没有清掉@@
button_1的作用说是清掉这些图,还不如说是把图隐藏起来了……Orz"
请问到底是哪边出了问题、我该如何修正呢?
谢谢大家。
补上完整档案:
https://dl.dropboxusercontent.com/u/98470904/draw_and_clear.fla
作者: scars (scars)   2014-06-21 18:30:00
square.graphics.clear()

Links booklink

Contact Us: admin [ a t ] ucptt.com