【新手求解】cc.EventTarget具体怎么使用

看了官网的文档,百度搜了,google也搜了,没找到具体用法

应该是大家都熟悉怎么用,所以网上搜到的也少吧,我想使用的场景是websocket长连接,因为长连接的成功和失败回调和http不一样,我的想法是用全局通知的方式去告诉脚本该执行什么方法

但是不会使用cc.EventTarget,官方文档是基于节点的,我想了想写个类继承cc.EventTarget,然后来实现on,off,但是我发现我不知道具体怎么写


具体的操作如下:
当前两个脚本,

  1. websocket.js(已经实现长连接并绑定connect等,功能正常 --普通脚本)

  2. game.js(这里面有个点击事件button,点击后会进入到websocket里的方法,还会有个方法success,是成功后的操作
    –场景脚本)

问题:

  1. 我想在点击button后,触发websocket里的方法并进入到成功回调后,发送通知,使得game调用success

大佬们拜托了,我想了2天了都不知道怎么写,尝试了很多办法和去试着写eventtarget,也搜了很多,运行就报错

大佬们,能帮帮忙吗

eventTarget.emit(“success”,data);//触发

在game里start()里面监听
eventTarget.on(“success”,this.OnSuccess,this)

百度一搜一大堆哎,想自己写个的话去bilibili看放空老师的3d开车直播吧,里面也有写过,赶紧上车。

如果只是想用事件系统,可以不用继承,直接new出来就可以了,可以挂在全局变量上,用着方便一点,比如放在cc上

// 任意位置初始化
cc.myEvent = new cc.EventTarget()

// 监听事件
cc.myEvent.on('你能听见吗', () =>  console.log('能'));

// 发送事件
cc.myEvent.emit('你能听见吗')
2赞

一个比较简单且暴力 cc.game.emit(“xx”) cc.game.on(“xx”,()=>{})

1赞

好滴多谢老哥,bilibili那个关注着的

多谢多谢!

哦哦,难怪我用着奇怪,谢谢