cocos-creator官方教程进阶-联网对战(TypeScript+Golang+帧同步)

 

最近打算学习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:处理游戏区协议

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值