Child-added/child-removed事件的问题

下面这段代码,b.onEnable()只会被调用一次。是故意这么设计的,还是BUG?不管怎么样,这样子很容易出错啊。

a.addChild(b);
b.removeFromParent();
a.addChild(b)

测试代码如下,未能重现

var a = cc.find('New Node');
var b = new cc.Node('BBB');
b.addComponent('NewScript');
a.addChild(b);
b.removeFromParent();
a.addChild(b);

怀疑你的问题是出在 a 根本就没加到场景中,所以这时 a.addChild 不会触发任何的 onEnable。只有当 a 加到场景后,a 下面的组件才会统一触发一次 onEnable。

1赞

log 的collapse 有点奇怪。有的时候 collapse在一起了,有的时候又没有。

    cc.log('test 1');
    cc.log('aaaa');
    cc.log('test 2');
    cc.log('bbbb');
    cc.log('test 3');
    cc.log('aaaa');
    cc.log('test 4');
    cc.log('bbbb');
    cc.log('test 5');
    cc.log('aaaa');
    cc.log('test 6');
    cc.log('bbbb');

上面这个的输出:

感觉应该要么都collapse,要么都不collapse。现在似乎是每两个会collapse在一起。

这是出于性能考虑,collapse 只会搜寻最近5条消息