窗口移动导致的增量时间不正确

时间:2015-12-01 04:19:47

标签: java debugging libgdx sprite timedelta

我正在创建一个Minecraft克隆菜单,徽标上的黄色文字会导致问题。它是一个精灵,我正在使用缩放方法来像在游戏的实际菜单中一样上下缩放。此缩放使用增量时间,因此它可以平稳运行。但每当我似乎移动窗口时,它会暂停我的游戏并产生不准确的Delta时间,例如: 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);
}

1 个答案:

答案 0 :(得分:1)

您可以剪切增量,使其永远不会超过某个值。这就是Stage所做的事情,可以防止行动中的紧张情绪。

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

if(!(!A or (A and B)))  //pseudocode