精灵运动不顺畅

时间:2013-02-26 17:52:12

标签: java 2d slick2d

我正在使用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;
    }

1 个答案:

答案 0 :(得分:1)

你如何定义三角洲?它应该是每秒绘制一帧的距离/每秒移动的距离,或类似的。