我正在用applyForce做一个使用matter.js的球员动作。
我正在检查按下的键,并在我的游戏循环中对我的角色施加力量,这通常被称为每秒60次。但是当FPS下降的时候,问题就开始了。如果循环每秒只调用30次,那么当FPS为60时,我如何才能applyForce相同的值?
在团结中有类似于FixedUpdate的东西吗?
发布于 2020-10-02 15:29:13
这是游戏开发中的一个经典问题。解决此问题的一种方法是,您可以检查一个时钟,以查看自上次更新(例如,每次更新中调用performance.now() )以来已经过去了多少时间,而不是在每次更新中应用相同的力度。然后,将您想要添加的力的数量乘以已经过去的时间。
我不认为这在所有情况下都是完美的。特别是如果你有一个小的,快速移动的对象,你可能会发现对象之间互相剪裁。但是我认为对于大多数情况来说,这已经足够好了,而且您应该能够手工编写代码。
https://stackoverflow.com/questions/63996054
复制相似问题