我刚刚在几个月前学会了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);