我正在使用 Slick2D 和 LWGJL 进行基本游戏,但我有一个奇怪的问题,当我将我的播放器(图像)移动到左侧/向下它比向右/向上移动慢。
Input input = gc.getInput();
if(input.isKeyDown(Input.KEY_W)){
PlayerY += delta * .1f;
}
if(input.isKeyDown(Input.KEY_S)){
PlayerY -= delta * .1f;
}
if(input.isKeyDown(Input.KEY_A)){
PlayerX -= delta * .1f;
}
if(input.isKeyDown(Input.KEY_D)){
PlayerX += delta * .1f;
}
所有这些代码都在方法 update()
中修改:我可以在此处查看我的所有代码https://www.dropbox.com/sh/p13sbxucmni36vd/K5XTaNOulm
任何帮助将不胜感激
答案 0 :(得分:3)
//Setting the original PlayerX and PlayerY values
private static int PlayerX = Game.ScreenLength/2;
private static int PlayerY = Game.ScreenHeight/2;
<强> VS 强>
if(input.isKeyDown(Input.KEY_W)){
PlayerY += delta * .1f;
}
if(input.isKeyDown(Input.KEY_S)){
PlayerY -= delta * .1f;
}
if(input.isKeyDown(Input.KEY_A)){
PlayerX -= delta * .1f;
}
if(input.isKeyDown(Input.KEY_D)){
PlayerX += delta * .1f;
}
看到问题了吗?更改PlayerX和PlayerY(Delta以防万一)浮动,你的问题将得到解决。记住,当你从float转换为int时,它总是会向下舍入。