关注,同问
同求,同问
1赞
全部用int类型怎么样,不用float类型。比如1 表示 1%或者千分1
我们项目就是这样做的,全部int类型
你们有用物理引擎吗,还是自己模拟的
你们是帧同步的竞技游戏项目吗?
这么多人同求,没有人知道吗
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等等的类型,再实现里面需要的方法而已。。
持续关注