2015-01-14 2 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.jar из папки загрузки lwjgl-2.9.2, и это сработало. Я догадался, что использовать тот, который пришел с Slick2D, был глючит или что-то в этом роде. Может быть, мой настрой был неправильным с самого начала? В любом случае, я получил его на работу.

+0

У меня была такая же проблема, и это исправляло это для меня. – ShoeLace1291

Смежные вопросы