[已解决]代码解惑

这段组合的action执行,其中
flare.runAction(cc.sequence(opacityAnim,biggerEase,opacDim,killFlare,onComplete));
这段我疑惑,我纳闷killFlare中执行了删除动作,onComplete为什么还会执行呢??

备注 removeChild: function (child, cleanup) {XXXXX} 方法

Removes a child from the container. It will also cleanup all running actions depending on the cleanup parameter.

会删除动作啊

killFlare 中的代码是什么样的呢

截图中有啊,一个内部的调用方法

killFlare中执行的是this.getParent().removeChild(this,true)

可是flare.runAction(cc.sequence(opacityAnim,biggerEase,opacDim,killFlare,onComplete));是flare对象执行的action

flare对象并没有被移除啊 也不为空 所以可以执行onComplete的

可以这样写试试 flare.removeFromParent(true);

this就是指向的 flare 啊

onComplete 照样正常执行

killFlare中执行的是this.getParent().removeChild(this,true)

可是flare.runAction(cc.sequence(opacityAnim,biggerEase,opacDim,killFlare,onComplete));是flare对象执行的action

flare对象并没有被移除啊 也不为空 所以可以执行onComplete的

楼主用的是哪个版本的引擎呢。这个应该在final版本已经修复了的

我换版本试试看

看了,没有这方面的bug

谢谢反馈:14: