[英]Moving down, right, left and up in matrix recursively causes stack overflow exception
[英]Moving a sprite to the left or down is faster than moving it to the right or up
我正在用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
任何帮助将不胜感激
//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时,它总是会舍入。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.