window 运动导致的增量时间不正确

Incorrect delta time caused by window movement

我正在创建一个 Minecraft 克隆菜单,徽标上的黄色文本导致了问题。它是一个 sprite,我正在使用缩放方法将其放大和缩小,就像在游戏的实际菜单中一样。此缩放使用增量时间,因此运行平稳​​。但是每当我似乎移动 window 时,它都会暂时暂停我的游戏并创建一个不准确的增量时间,例如:3.0482762 9.7077E-4 4.25514E-4 .这些不准确使我的文字比例超过我想要的,这是我正在使用的代码 LibGdx:

@Override
public void render(float delta) {
    // Update
    System.out.println(delta);

    if(titleEnlargement)
    {
        if(title.getScaleX() < 1.1)
            title.setScale(title.getScaleX() + (delta * 0.4f));
        else
            titleEnlargement = false;
    }
    else if(!titleEnlargement)
    {
        title.setScale(title.getScaleX() - (delta * 0.4f));
        if(title.getScaleX() <= 1)
            titleEnlargement = true;
    }

    // Render
    batch.draw(background, 0, 0);
    logo.draw(batch);
    title.draw(batch);
}

您可以裁剪增量,使其永远不会超过特定值。这就是 Stage 为防止动作抖动所做的。

将以下内容放在渲染方法的开头:

delta = Math.min(delta, 1 / 30f);