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