我想问这个经常出现在我脑海中的问题。
为什么我在尝试删除影片剪辑时收到此错误消息说父级不存在。在第一种情况下,如果影片剪辑没有被影片剪辑或舞台“包含”,则影片剪辑不能存在于屏幕/内存中
这怎么会发生,有人可以解释这个“movieclip”如何失去对舞台或容器 mc 的父引用。调试器堆栈将movieclip.parent 的值显示为null。
即使是一个小评论也会非常有帮助。
谢谢
毗湿奴阿吉特
快乐编码
我想问这个经常出现在我脑海中的问题。
为什么我在尝试删除影片剪辑时收到此错误消息说父级不存在。在第一种情况下,如果影片剪辑没有被影片剪辑或舞台“包含”,则影片剪辑不能存在于屏幕/内存中
这怎么会发生,有人可以解释这个“movieclip”如何失去对舞台或容器 mc 的父引用。调试器堆栈将movieclip.parent 的值显示为null。
即使是一个小评论也会非常有帮助。
谢谢
毗湿奴阿吉特
快乐编码
即使没有父级,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
它最终会消失。但是,只要您确实保留了对它的引用,无论是作为孩子还是存储在变量中,它都会一直存在。父母与否。
在这种情况下有两种可能性。- 影片剪辑未添加到舞台或任何容器中。- 或者它已经从父级中删除,代码中有其他错误。
防止从父级移除影片剪辑时出错。使用这个简单的代码来删除movieclip。
如果(movieclip.parent)movieclip.parent.removeChild(movieclip);
它将防止此错误