[問題] 清除以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