问题描述
我想暂停包含 Box2d 字的 libgdx 游戏。为了暂停游戏,我决定操纵 deltaTime。 我认为如果我将 deltaTime 归零,所有渲染代码都可以等到按下恢复按钮。然而 deltaTime 不是 var 它是 val。因此,由于 deltaTime 是 val,我无法重新分配 deltaTime 的值。禁止更改 deltaTime。有什么办法可以改变deltaTime。
解决方法
deltaTime
是自上次渲染以来经过的时间的度量,而不是参数。
您可以使用
停止(和开始)渲染Gdx.graphics.setContinuousRendering(false);
(这通常用于您想确定使用 Gdx.graphics.requestRender()
渲染的频率)
请注意,这将停止所有渲染,因此也许只是在您的通话中暂停步入世界。
if (!isPaused) {
box2DWorld.step(TIME_STEP_IN_SECONDS,VELOCITY_ITERATIONS,POSITION_ITERATIONS);
}