ccc用什么怎解决浮点计算一致性问题?

mark

这还不好解决…所有地方都用整数 然后有小数的地方只有df df 扩大1万 每个计算的地方 计算之后再除以1万.
例如 df=0.0165 然后改成 df=165 最后除以1万

另外 好多帧同步demo 实际是有问题的. 不能用update里面的dt

1赞

你代码用int, 但引擎里面的代码还是用float的…所以需要定制引擎才可以

持续关注

关注中,接触JS没有多久,前几天也遇到这个问题了

关注mark

逻辑运算放大10000倍算呢?渲染坐标除10000,有误差也无所谓

继续继续

渲染坐标不用除1000,因为渲染的坐标是根据 逻辑坐标和渲染的坐标 插值计算出来的

逻辑坐标永远用整数计算,渲染坐标可以有小数,只要逻辑坐标不乱,渲染坐标插值计算那点点误差影响不大

2赞

那怎么update?想不通。自己用setInterval、schedule?

其实是能稍微一致性的,我现在初步用乘1000、取整(praseInt)、再除1000的方法改了一下box2d,效果还行,但是因为JS没有整型这个概念,物理计算里面又非常多计算,然后JS又不能重载运算符,搞到这种方式性能太低了,而且改写起来贼恶心麻烦。。。

之前的项目都是用U3D,就没这么蛋疼。。就是要自己用int跟long定义Vec2等等的类型,再实现里面需要的方法而已。。

持续关注

mark

逻辑帧同步可以参考引擎中的box2d.js的逻辑帧同步实现

没听懂

野蛮人大作战出了一个小游戏也是帧同步的:cry:

你好 取整 应该是 math.ceil() 吧 你这个方案 最后验证的怎么样了?

big.js or bignumber.js

fix舍弃小数的方案? 是 乘上1000,然后取整?