【问题标题】:AS3 Error When Trying To Remove a Movieclip from the Stage尝试从舞台中删除影片剪辑时出现 AS3 错误
【发布时间】:2015-03-09 17:59:48
【问题描述】:

我在主时间线上有一个名为“img_mc”的实际影片剪辑,我想在击中某个帧时将其删除。所以我在那个框架上放了以下代码: removeChild(img_mc) - 即使 Flash 将其删除,我也会收到以下错误:

 ArgumentError: Error #2025: The supplied DisplayObject must be a child of the caller.
at flash.display::DisplayObjectContainer/removeChild()

我不明白我在这里缺少什么?我也试过了

 this.removeChild(img_mc); and

 stage.removeChild(img_mc);

谢谢!

【问题讨论】:

  • 您可能尝试将其删除两次,第一次将其删除,但第二次出现错误。应该是在enterframe事件中吧?
  • 嗨 BotMaster,是的,它在一个 enterframe 事件中。
  • @user2163224 看看my answer of this question
  • 感谢@user2163224 的解释!

标签: actionscript-3 movieclip removechild


【解决方案1】:

我创建了一个函数:

function stopTheScript() {
    if (img_mc.parent){
        img_mc.parent.removeChild(img_mc); 
    }
}

这似乎有效-意味着我没有收到错误-但是我不太明白为什么?我认为放置在时间线上的任何影片剪辑都会自动成为孩子?

【讨论】:

  • 阅读我的评论。如果您已经删除了一次,则无法再次删除它。为什么这没有意义?
猜你喜欢
  • 1970-01-01
  • 2014-01-28
  • 1970-01-01
  • 2011-05-27
  • 2014-01-04
  • 2012-11-23
  • 1970-01-01
  • 2019-01-22
  • 1970-01-01
相关资源
最近更新 更多