[英]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.