2015-01-14 153 views
0

所以,我試圖檢查我的遊戲窗口內的鼠標位置,但我的程序沒有正確更新 x和y座標。相反,它只顯示x和y的靜態數字。我很漂亮 當然,我確實設置了Slick2D和lwjgl作爲一個空的黑盒子,FPS計數器在我運行應用程序時出現。Java - Slick2D/lwjgl獲取鼠標位置

無論如何,無論出於何種原因,下面的代碼都顯示「x:-161 y:-1」。我將如何解決這個問題,以便它顯示正確的鼠標位置?

import java.util.logging.Level; 
import java.util.logging.Logger; 
import org.lwjgl.input.Mouse; 
import org.newdawn.slick.*; 
import org.newdawn.slick.state.*; 

public class LogIn extends BasicGameState{ 

public String mouse; 

public LogIn(int state){ 

} 

public void init(GameContainer gc, StateBasedGame sbg) throws SlickException{ 


} 

public void render(GameContainer gc, StateBasedGame sbg, Graphics g) throws SlickException{ 

    g.setColor(Color.white); 
    g.drawString(mouse, 50, 50); 
} 

public void update(GameContainer gc, StateBasedGame sbg, int delta) throws SlickException{ 
    int xpos = Mouse.getX(); 
    int ypos = Mouse.getY(); 
    mouse = "x: " + xpos + " y: " + ypos; 
} 

public int getID(){ 
    return 1; 
} 

}

回答

1

試試這個:

Input input = gc.getInput(); 
int xpos = input.getMouseX(); 
int ypos = input.getMouseY(); 
+0

這也不起作用。它現在輸出「x:-161 y:481」。 – Oranges

1

我已經想通了。我使用了lwjgl-2.9.2下載文件夾中的lwjgl.jar,它工作正常。 我猜測使用Slick2D附帶的是buggy或其他東西。也許我的設置從一開始就錯了?無論如何,我得到它的工作。

+0

我有同樣的問題,併爲此做了修復。 – ShoeLace1291