贪吃蛇大作战,都是玩家的对战,没有ai。
- update中通过dt*speed改变位置,因为dt的波动会导致蛇身子抖动,抖动厉害的话可能会断节。
- 因为update的延迟,导致不同步,在同步服务器的位置是出现瞬移的现象怎么解决呢
- 蛇身子移动的实现是移动到蛇头曾经移动的位置,在转弯时感觉很不自然可以拐出直角,看贪吃蛇大战的实现人家是很平滑的,求解
以上问题等待大佬解决,感谢大家
贪吃蛇大作战,都是玩家的对战,没有ai。
这个不是为了延时执行的嘛
这不是一个帖子能解决的问题,你得百度帧同步,这是个很吊的题目
好的,我在网上查了好多帧同步了
公司项目不建议搞帧同步,自己空余时间的demo请随意发挥。
用状态同步啊,帧同步不要选
帧同步需要逻辑和渲染分开,你需要自己控制一个逻辑帧,比如15帧(还可以降低,只是越低越控制越不跟手),渲染是60帧中间用线性插值或者缓动过度。延迟过大中间还可以做追帧。帧同步会导致重连时间过长。还有如果有随机用随机数种子,小数这个处理方法先乘以1000再除一千(降低浮点数导致的不同步)。
而且我理解的贪吃蛇游戏应该是随进时进随出的。可以中途加入战斗,这样的话是不能用帧同步的,应该使用状态同步,由服务端同步状态即可。
帧同步暂且不谈,你直接使用dt*speed来移动位置,这肯定是不够平滑的,要用lerp插值!
当退出游戏再进来,判断用户重新进入前台,执行一下断线重连,拿到服务端传来的最新数据开始追帧,
现在没有用dtspeed了,是用的if(dt>0.0167){this.node.y+=this.speed0.0167}如果dt不够0.0167就累积到下次去算
我是第一次使帧同步,好难哦
都没一个帧同步说明文档么
有个unity贪吃蛇帧同步的教程
有链接不,感谢
大佬你们的帧同步贪吃蛇 做了么? 有没有什么思路可以分享一下么
不完善,会卡顿