0

我正在用 Java/Slick2D 开发一个 2D 平台游戏。

到目前为止,我的角色每帧移动了恒定数量的像素。我已经尝试像建议的那样切换到使用“delta”变量(帧之间的时间量),但角色的动作似乎非常紧张。

我可以做些什么来平滑角色的运动?

    private static final float DEFAULT_SPEED = 0.15f;

    Vector2f trans = new Vector2f();
    Input i = gc.getInput();
    boolean run = false;

    // X-Axis Movement
    if (i.isKeyDown(Input.KEY_D)){
        trans.x += DEFAULT_SPEED * delta;
        lastMoveDirection = Direction.RIGHT;
    }
    if (i.isKeyDown(Input.KEY_A)){
        trans.x -= DEFAULT_SPEED * delta;
        lastMoveDirection = Direction.LEFT;
    }
    if (i.isKeyDown(Input.KEY_LSHIFT)){
        trans.x *= RUN_SPEED_MULTIPLIER;
        run = true;
    }
4

1 回答 1

1

你如何定义增量?它应该是绘制一帧所花费的时间/每秒移动的距离,或类似的。

于 2013-02-26T17:54:23.797 回答