node中自带的emit和on,只能自己收发,所以现在项目中使用cc.game或者cc.Canvas.instance.node来做的全局事件。是不是ccc就是这么设计的,把这种自定义事件系统绑定到node上了?有看到cc.systemEvent,但是里面都是系统的监听函数(重力,键盘),这个支持自定义事件派发么?有没有大佬出来解释一波~
可以,我记得官方的十四点例子(名字忘了,好像是叫这个)里有这样用。补充:这里我记错了,这个demo只有正常的用法。
我其实就是有两点问题:
1、ccc目前把事件系统绑定到node上了,推荐使用cc.game或者canvas.instance做全局监听么?
2、cc.systemEvent能实现自定义事件监听么?
1、不推荐
2、能
那也就是推荐第二种了?能发个demo么?
有没有官方的出来解释下。确实对ccc这块理解不到位。如果官方没有推荐的话,自己实现看来是最合适的了。
var em = new cc.EventTarget();
em.emit(‘event1’);
em.on(‘event1’);
嗯,这个其实跟node或者game一样的。因为node本身其实也是个eventTarget,这样的话就相当于是自己封装一个全局的。跟直接用game或者canvas.instance感觉是一样的。
cc.director.emit
cc.director.on
cc.director.off
2赞