【问题标题】:Remove child on all array movieclips删除所有数组影片剪辑上的子项
【发布时间】:2014-06-30 20:32:03
【问题描述】:

我正在寻找一种解决方案来从 as3 的舞台上删除影片剪辑列表。我尝试将影片剪辑添加到数组中,并制作一个循环,如果它们存在,则删除它们中的每一个。我必须包含 if contains 因为它在没有它的情况下将我发回:“错误 #2025:提供的 DisplayObject 必须是调用者的子对象。”

var array: Array = new Array;

var symbol1: MovieClip = new Symbol1;
var symbol2: MovieClip = new Symbol1;

array.push(symbol1);
array.push(symbol2);

stage.addChild(array[1]);

for (var i = 0; i < array.length; i++) {
    if (contains(array[i])) {
        stage.removeChild(array[i]);
        trace("removed symbol[i]");
    }

}

我是不是用错了数组?

【问题讨论】:

    标签: arrays actionscript-3 flash actionscript movieclip


    【解决方案1】:

    试试 stage.contains(array[i])

    【讨论】:

      【解决方案2】:

      对于更模块化的代码(无论父级都可以重用),尝试这样做:

      for (var i = 0; i < array.length; i++) {
          if (array[i].parent) { //check to see if this item has a parent
              array[i].parent.removeChild(array[i]); //tell the parent to remove this child
              trace("removed symbol [i]");
          }
      }
      

      这样,如果您稍后决定将所有项目放在容器中而不是舞台中,则无需更改代码。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-07-13
        • 2012-05-25
        • 2017-06-24
        • 1970-01-01
        • 2012-05-24
        • 2018-10-14
        • 2012-02-04
        • 1970-01-01
        相关资源
        最近更新 更多