H5+JS的游戏项目, 在JS环境下如何做到帧同步?
- JS没有定点数, 浮点数问题好像很复杂.
- 一些资料说修订三角函数为查表法. 但我测试, 直接修改JS的Mash.xxxx所有函数为查表, 结果还是1分钟后出现不同步现象.(手机和电脑差生差异, 而同样架构的电脑同步, 说明只能是浮点数问题)
- 状态同步服务器成本太高, 所以不能选择, 用帧同步能开100个房间, 状态同步10个房间...CPU消耗太大.
- 不能直接转发玩家的坐标, 因为涉及到追帧, 差值平滑等等, 玩家的坐标无法时时获取.
很费解!
但是, 我见过很多H5游戏真的是用帧同步实现的, 到底是怎么实现的呢?!!!! 百思不得其解!
定点数可以用整数代替,在Number.MAX_SAFE_INTEGER和MIN_SAFE_INTEGER之间的整数都是安全的