0

我尝试了很多方法让所有孩子都进入 cc.Layer 在我的图层中,我有 2 个孩子。我使用以下代码获取所有孩子并为我的图层中的所有孩子运行Action FadeOut

for (var child in this._children){
        child.runAction(
            cc.FadeOut.create(interval)
        );
}

在上面的代码中。这个“孩子”的类型是 cc.Node。但是这个值是这个孩子的“索引”(例如,0 或 1)。所以,当我执行'runAction'时,我得到一个错误:“对象0没有方法'runAction'”

在尝试通过标签获取孩子如下比较2个变量

var child0 = this.getChildByTag(0);

结果也是 cc.Node 但值与以前的代码完全不同。我完全执行'runAction'方法没有错误

那么,我怎样才能获得所有孩子并像“getChildByTag”方法一样接收每个孩子。

提前致谢

4

1 回答 1

0

我用一种简单的方法解决了我的问题。我发现for循环有问题。而不是使用 for-in i 使用以下内容:

 var childNode = this._children;
    for (var i=0; i<childNode.length; i++){
        var child = childNode[i];
        child.runAction(
            cc.FadeOut.create(interval),
            cc.CallFunc.create(this.removeFromParent,this,true)
        );
 }

完全正确!

于 2014-03-25T04:54:30.627 回答