更改 libgdx 游戏的 deltaTime

问题描述

我想暂停包含 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);
}