节点A要是节点B的parent,才能实现
试试这个
cc.director.on
搞个全局类,里面放一些必要的全局变量,记录需要互传消息的结点,然后 结点.emit 发送过去就行了。
cc.director.on,和cc.director.emit。
1赞
试了 不行
也不行
我发的不行么
你发的可以 不同地方使用的自定义事件对象必须是同一个 才有效
监听的对象不同,能有效么
我现在就是用的这个,应该是你姿势不对
你用的姿势不对啊,我一直都是这么用的啊
姿势不对
姿势不对我也不知道为什么不行 我现在用了楼上的自定义全局事件
cocos 的事件传递机制就是向上冒泡,意思就是只有父结点能收到子结点派发的事件.而同级或者不同层级结点之间是无法收到事件的. 这种必须要自己实现全局的事件通知广播机制.
同一个节点的事件用node注册和派发,跨节点的我通常都用cc.systemEvent去注册和派发,就是没用的时候要off掉(通常在onDestroy中off),否则会报对象为空
1赞
用一个全局的EventNode来统一处理事件监听就ok了。
cc.game.emit() 和 cc.game.on()
有个插件叫 onfire 可以实现全局派发