我剛剛在幾個月前學會了AS3,所以很抱歉,如果這聽起來對你來說是新手。父母突然變爲空作爲3
這是我的問題。我去使用removeChild,但有一個錯誤說: ArgumentError:錯誤#2025:提供的DisplayObject必須是調用者的子項。
所以,我追溯到父母,它是「空」。但是,當我試圖追蹤每一個物體的父母時,它就出來了。那爲什麼它突然變爲空?隨機在那!你有什麼想法如何糾正這一點?謝謝。
我剛剛在幾個月前學會了AS3,所以很抱歉,如果這聽起來對你來說是新手。父母突然變爲空作爲3
這是我的問題。我去使用removeChild,但有一個錯誤說: ArgumentError:錯誤#2025:提供的DisplayObject必須是調用者的子項。
所以,我追溯到父母,它是「空」。但是,當我試圖追蹤每一個物體的父母時,它就出來了。那爲什麼它突然變爲空?隨機在那!你有什麼想法如何糾正這一點?謝謝。
在調用removeChild之前,你有沒有使用addChild?
孩子應該位於您要調用removeChild的父級顯示列表中。
只要父母不在舞臺上,父母總是空。
僅供參考,我認爲你有一點小錯誤。
下面的代碼相同的錯誤。
ArgumentError:錯誤#2025:提供的DisplayObject必須是調用者的子項。
這是你的情況嗎?
var mc:MovieClip = new MovieClip();
addChild(mc);
var childMc:MovieClip = new MovieClip();
mc.addChild(childMc);
//this line wrong.
stage.removeChild(childMc);
如果你的情況下,stage.removeChild(childMc);
變化mc.removeChild(childMc);
removeChild()手段從DisplayObjectContainer實例的子列表中指定的child DisplayObject實例。 as parent.removeChild(child);
stage
是childMc
家長的父母。
mc
是childMc
親本。
或這種情況?
var mc:MovieClip = new MovieClip();
addChild(mc);
var childMc:MovieClip = new MovieClip();
mc.addChild(childMc);
stage.removeChild(mc);
while(mc.numChildren)
{
mc.removeChildAt(0);
}
如果這種情況下,MC是由該行stage.removeChild(mc);
試圖mc的孩子removeChild之去除。已經移除了mc,所以發生錯誤。孩子必須從下面的大部分中刪除。
變化
while(mc.numChildren)
{
mc.removeChildAt(0);
}
stage.removeChild(mc);
如果你想清楚地回答。必須附上一個代碼。
下面是如何防範錯誤#2025:
if (container.contains(displayObject))
container.removeChild(displayObject);
但在一般情況下,請務必只刪除您以前添加的DisplayObject。
如果你想刪除與野生放棄無需記住其母公司會發生什麼是孩子,你可以這樣做:
if(child.parent) child.parent.removeChild(child);