0

我想问这个经常出现在我脑海中的问题。

为什么我在尝试删除影片剪辑时收到此错误消息说父级不存在。在第一种情况下,如果影片剪辑没有被影片剪辑或舞台“包含”,则影片剪辑不能存在于屏幕/内存中

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

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

谢谢

毗湿奴阿吉特

快乐编码

4

2 回答 2

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它最终消失。但是,只要您确实保留了对它的引用,无论是作为孩子还是存储在变量中,它都会一直存在。父母与否。

于 2011-12-01T10:04:20.017 回答
1

在这种情况下有两种可能性。- 影片剪辑未添加到舞台或任何容器中。- 或者它已经从父级中删除,代码中有其他错误。

防止从父级移除影片剪辑时出错。使用这个简单的代码来删除movieclip。

如果(movieclip.parent)movieclip.parent.removeChild(movieclip);

它将防止此错误

于 2011-12-01T11:08:39.650 回答