我想问一下这个经常出现在我心中的问题。
当我尝试删除动画片段时,为什么会出现此错误,指出父片段不存在。在第一种情况下,如果动画片段没有被动画片段或舞台“包含”,那么动画片段就不能存在于屏幕/内存中
如何发生这种情况,有人可以解释这个“movieclip”如何失去对舞台或容器mc的父引用。调试器堆栈将movieclip.parent的值显示为null。
即使是一个小评论也会非常有用。
谢谢
Vishnu Ajit
快乐编码
答案 0 :(得分:1)
MovieClips即使没有父级也可以存在。看看这些相当标准的代码行:
var myThing:MovieClip = new ThingThatExtendsMovieClip();
// at this point in time myThing DOES exist yet does not have a parent
// now let's give it a parent
addChild(myThing);
// and if we remove it again:
removeChild(myThing);
// myThing again exists without a parent.
这里的诀窍是,如果没有任何内容保留对myThing
的引用,那么将最终消失。 但只要您确实保留对它的引用,无论是作为孩子还是存储在变量中,它都会坚持下去。家长与否。
答案 1 :(得分:1)
在这种情况下有2种可能性。 - 要么没有将movieclip添加到舞台或任何容器中。 - 或者它已经从父母身上删除,代码中还有一些其他错误。
从父级删除动画片段时防止出错。 使用这个简单的代码来删除movieclip。
如果(movieclip.parent) movieclip.parent.removeChild(动画片段);
它会阻止此错误