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