java - Sprite 运动不流畅

标签 java 2d slick2d

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

到目前为止,我的角色每帧移动固定数量的像素。 我尝试按照建议切换到使用“delta”变量(帧之间的时间量),但角色的运动似乎非常不稳定。

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

    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;
    }

最佳答案

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

关于java - Sprite 运动不流畅,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15095898/

相关文章:

algorithm - 连续物理引擎的碰撞检测技术

c# - 为什么我的射弹没有绘制在屏幕上?

java - 在游戏更新循环中调用延迟 3 秒的函数

java - LWJGL 和 Slick2D 的文本错误

java - Slick-2D : Change back to default OS cursor

java - SNMP 响应为空 [SNMP4j]

Java编译缺少return语句错误

java - 为什么设置两个字符串的值相同并使用==比较它们会返回true?

java - 如何获取用户输入的最小值和最大值? ( java )

c++ - vector vector 的问题是什么?