怎么实现不同节点上不同脚本之间的事件传递?

姿势不对:joy:

姿势不对:joy:我也不知道为什么不行 我现在用了楼上的自定义全局事件

cocos 的事件传递机制就是向上冒泡,意思就是只有父结点能收到子结点派发的事件.而同级或者不同层级结点之间是无法收到事件的. 这种必须要自己实现全局的事件通知广播机制.

同一个节点的事件用node注册和派发,跨节点的我通常都用cc.systemEvent去注册和派发,就是没用的时候要off掉(通常在onDestroy中off),否则会报对象为空

1赞

用一个全局的EventNode来统一处理事件监听就ok了。

cc.game.emit() 和 cc.game.on()

EventManager.zip (801 字节)
不知道你解决了没有,可以试一下这个

有个插件叫 onfire 可以实现全局派发