非常基本的問題在這裏,但它仍然讓我很困惑..通過代碼刪除形狀
我有一個對象(導航菜單欄),我想改變的代碼的顏色,所以在updateColor
函數,我得到了對象的邊界(這是一個包含在動畫片段中的繪圖形狀),並用新顏色重新繪製了一個新形狀,但是我注意到最後一個形狀仍然存在於此重繪之後。
我試圖在重繪之前使用obj.graphics.clear();
,但沒有擺脫原來的形狀。是否有另一個我忽略的命令?
非常基本的問題在這裏,但它仍然讓我很困惑..通過代碼刪除形狀
我有一個對象(導航菜單欄),我想改變的代碼的顏色,所以在updateColor
函數,我得到了對象的邊界(這是一個包含在動畫片段中的繪圖形狀),並用新顏色重新繪製了一個新形狀,但是我注意到最後一個形狀仍然存在於此重繪之後。
我試圖在重繪之前使用obj.graphics.clear();
,但沒有擺脫原來的形狀。是否有另一個我忽略的命令?
除非您在同一圖形對象中繪製了想要刪除的對象,否則清除將不起作用。您需要刪除DisplayObject。
根據孩子的數量,你可以這樣做:
obj.removeChildAt(0);
這也將刪除影片剪輯/手動放置在舞臺上的按鈕。 如果您要刪除的DisplayObject的引用,你可以簡單地做
obj.removeChild(backgroundClip);
請注意,您也可以直接改變DisplayObject的顏色:
import flash.geom.ColorTransform;
...
public var test:MovieClip; //instance on stage
...
var cf:ColorTransform = test.transform.colorTransform;
cf.color = 0xff0000;
test.transform.colorTransform = cf;
while(this.numChildren)
{
this.removeChildAt(0);
}
將清除的孩子如果它清除太多,則將該形狀圖放入子剪輯中,並清除子剪輯。