我该如何实现"时间压缩"在box2d物理引擎?

时间:2018-01-31 00:02:39

标签: time box2d andengine physics-engine

我正在Andengine中使用物理实现游戏。物理看起来很真实,但游戏感觉缓慢而无聊。有什么方法可以改变物理引擎的时间,以防我想实现一些时间压缩,如快进或慢动作?

我想要做的唯一方法是重写PhysicsWorld的onUpdate方法并将经过的秒数乘以一个因子,但我害怕破坏引擎的内部计算。

@Override
public void onUpdate(final float pSecondsElapsed) {
    super.onUpdate(pSecondsElapsed * mTimeCompression);
}

1 个答案:

答案 0 :(得分:2)

(这应该是一个评论,但我还没有足够的代表。)

我认为您对破坏内部计算的怀疑是正确的 - 请参阅:https://gafferongames.com/post/fix_your_timestep/

提出了类似的问题,解决方案涉及多次调用step(在您的案例中似乎是onUpdate),而不是更改时间步骤本身:Is it possible to fast forward simulation in Box2D