Node和Animation的生命周期

想要在animation播放完毕后,释放node:

var animation = node.getComponent(cc.Animation);
animation.play();
animation.once("stop",  function(){
    if(node.isValid)
        node.destroy();
});

这样子可以吗?

如果animation播放完毕之前,调用了node.destroy(),那animation本身会被destroy吗?
如果animation播放完毕之前被destroy了,上面这个callback还会被调用吗?

node 释放之后,它的 animation 组件也会被释放,任何时机被 destroy 之后,都不会产生额外的回调
理论上你这里的代码不会引发什么问题,不过当业务逻辑变复杂并且互相依赖之后,在回调中做清理操作(甚至清理自己)不好说会不会触发其他对 node 的引用产生什么问题,这个就要具体情况具体分析了