[开发者心得] 监听玩家进入,监听玩家离开两个接口的使用案例

[复制链接]
1493 |6
😁 发表于 2023-4-23 11:24:51 | 显示全部楼层 |阅读模式
本帖最后由 喵喵喵喵喵喵木木木木木喵喵喵喵喵 于 2023-10-31 10:13 编辑

功能介绍
这是关于监听玩家进入和玩家离开两个接口的使用实例

监听玩家进入的方法有两个:onPlayerEnterGame(客户端,数据就绪,前后端可正常通信),onPlayerJoined(玩家刚连进服务器,数据和前后端通信还没有准备就绪),所以最好还是使用onPlayerEnterGame
监听玩家离开:onPlayerLeft

使用场景:监听玩家进入我用到比较多的是与属性同步脚本联系在一起,比如玩家进入时同步换装,玩家进入时同步血量;玩家离开时通知其他玩家做某件事。

监听玩家离开事例:
image.png


    属性同步脚本:

111.png

玩家离开事例:
image.png

image.png
   这里遇到过一个问题:最开始想在玩家离开时也使用属性同步脚本来通知其他玩家,但是玩家离开后属性同步脚本里面的rpc已经不能再执行,所以换成了使用net通知其他玩家


完整工程:
monitor.rar (113.32 KB, 下载次数: 59)
回复

使用道具 举报

喵喵哭唧唧 发表于 2023-4-23 11:25:24 | 显示全部楼层
太棒了~
回复

使用道具 举报

😁楼主 发表于 2023-4-23 11:25:59 | 显示全部楼层
回复

使用道具 举报

汽汽汽汽水 发表于 2023-4-23 11:27:09 | 显示全部楼层
玩家离开只需要通知其他还没有离开的玩家吧,理论上属性同步也是可以的。离开时候应该是不用通知离开游戏的玩家本身。
回复

使用道具 举报

😁楼主 发表于 2023-4-23 11:28:33 | 显示全部楼层
汽汽汽汽水 发表于 2023-4-23 11:27
玩家离开只需要通知其他还没有离开的玩家吧,理论上属性同步也是可以的。离开时候应该是不用通知离开游戏的 ...

是的,但是我试过玩家离开的时候也使用setIDData,脚本已经走到这里了,但是onIDDataChange并没有执行
回复

使用道具 举报

空伊伊 发表于 2023-4-23 13:55:08 | 显示全部楼层
本帖最后由 空伊伊 于 2023-4-23 14:18 编辑

我补充一下:帖子里提到的onPlayerJoinedonPlayerLeft是模块管理(ModuleS)对 Events.addPlayerJoinedListenerEvents.addPlayerLeftListener 进行再封装实现的接口。

所以使用onPlayerJoinedonPlayerEnterGame必须进行模块管理,注册模块等一系列操作
使用Events.addPlayerJoinedListenerEvents.addPlayerLeftListener可以直接在继承Core.Script的代码块里使用
回复

使用道具 举报

😁楼主 发表于 2023-4-23 14:08:43 | 显示全部楼层
回复

使用道具 举报

热门版块
快速回复 返回顶部 返回列表