【问题标题】:Parent Movieclip/stage not found even if it is present [closed]即使存在也找不到父影片剪辑/阶段[关闭]
【发布时间】:2011-12-01 06:45:35
【问题描述】:

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

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

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

即使是小评论也会很有帮助。

谢谢

毗湿奴阿吉特

快乐编码

【问题讨论】:

  • 请显示一些代码。是什么让你写下“鸡不能在视觉上/内存中存在,而不是在另一个'容器'中”?

标签: flash actionscript-3 movieclip stage


【解决方案1】:

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

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

if(movieclip.parent) movieclip.parent.removeChild(movieclip);

它将防止此错误

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-06-18
      • 2017-08-23
      • 1970-01-01
      • 1970-01-01
      • 2017-06-24
      • 2011-07-13
      • 1970-01-01
      相关资源
      最近更新 更多