在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
最近打算学习creator,跟着官方教程做了遍发现和u3d有些相似,用着还算顺手,就是实在无法习惯js,后来改成ts终于有些感觉,所以决定继续优化这个ts版的官方教程。 前段时间学习go的时候写了个服务端框架(DrillServer:https://github.com/BAN1993/DrillServerGo.git),正好拿来和这个项目结合,做个联网对战的游戏。 先上源码:https://github.com/BAN1993/CatchStar.git Client对玩法和动画上有所改进,人物更加Q弹,改动较小就不做阐述了。
添加了网络模块(NetWork)。业务模块通过regist注册监听,网络模块收到协议后依次回调。 客户端本地也有一个数据回调机制(DataPoster),与网络模块类似,业务模块通过regist注册,数据发生改变时(如收到协议或本地角色更改方向)调用update则会通知到每个注册过的模块上。
游戏主要采用帧同步,每N帧同步一次位置和方向。为了减少瞬移和延迟的情况,做了预测和修复位置的逻辑:根据当前方向实时绘制预测的位置,当收到同步协议后,如果距离偏差较大则使用动画将角色拖拽到准确位置。 Server服务端使用最典型的框架 Gateway:负责转发协议 DataBaseServer:负责处理大厅协议(登录、注册等) GameServer:处理游戏区协议
|
请发表评论