我正在使用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;
}
答案 0 :(得分:1)
你如何定义三角洲?它应该是每秒绘制一帧的距离/每秒移动的距离,或类似的。