请教下, 多个物体,同时 执行不同的动作, 怎么实现? 不是cc.spawn 同一个物体,同时执行不同的动作。
不同的物体预设好动作的回调方法,
比如
execAction: function(){
this.node.runAction();
}
接着不同物体监听同一个事件代理节点
onLoad: function(){
delegateNode.on(“run-action”,this.execAction.bind(this))
}
然后准备同时触发动作时,拿到那个代理节点,给它发执行动作的消息
trigger: function(){
delegateNode.emit(“run-action”)
}
这样就可以同时执行动作了。
当然事件系统说白了也是for循环
所以不妨在for循环里面直接循环调用多个物体的动作回调
for(let actionNode of actionNodeList){
actionNode.getComponent(“action-script”).execAction();
}
由于是单线程,所以动作会在for循环完成后再统一绘制。
两种都行
谢谢哈!