我写了一个这样的逻辑。子弹碰撞怪物,怪物执行一个动画,执行完成后,放入对象池。
使用sequence顺序执行。
other.node.runAction(cc.sequence(other.node.getComponent(cc.Animation).play(“smoke_dis”), cc.callFunc(function () {
this.game.msonkilled(other.node);
})));
大概是这样。但是callFunc里面的函数不执行。是我的使用方法出现错误了吗?
而且不光callFunc里面的不执行。整个runAction方法,下面的全部都不执行了。这是为什么?
我想你的动画也没有执行吧?cc.sequence是动作容器(cc.Action),并不能用来操作执行动画(cc.Animation),所以你的cc.callFunc不会执行,除非你把动画放到cc.CallFunc里执行
其次,在你的callfunc里的this已经不是当前组件了,所以会找不到this.game
ok。我试试。