即使它存在,也找不到父级Movieclip / stage

时间:2011-12-01 06:45:35

标签: flash actionscript-3 movieclip stage

我想问一下这个经常出现在我心中的问题。

当我尝试删除动画片段时,为什么会出现此错误,指出父片段不存在。在第一种情况下,如果动画片段没有被动画片段或舞台“包含”,那么动画片段就不能存在于屏幕/内存中

如何发生这种情况,有人可以解释这个“movieclip”如何失去对舞台或容器mc的父引用。调试器堆栈将movieclip.parent的值显示为null。

即使是一个小评论也会非常有用。

谢谢

Vishnu Ajit

快乐编码

2 个答案:

答案 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(动画片段);

它会阻止此错误