Установленный Slick2D недавно, однако кажется, что он не обнаруживает никаких изменений в позиции курсора мыши, что так всегда, то есть использование метода mousePressed всегда возвращает ту же позицию. Может ли это быть связано с изменениями в жителях lwjgl? Я чувствую, что никто больше не использует Slick2D...
Код:
package grajus;
import org.newdawn.slick.AppGameContainer;
import org.newdawn.slick.GameContainer;
import org.newdawn.slick.Graphics;
import org.newdawn.slick.SlickException;
import org.newdawn.slick.state.BasicGameState;
import org.newdawn.slick.state.StateBasedGame;
public class GameStart extends StateBasedGame {
public GameStart(String title) {
super(title);
}
public static void main(String[] args) {
try {
AppGameContainer game = new AppGameContainer(new GameStart("Game"));
game.setDisplayMode(640, 480, false);
game.start();
} catch (SlickException e) {
e.printStackTrace();
}
}
@Override
public void initStatesList(GameContainer arg0) throws SlickException {
addState (new GameState());
}
class GameState extends BasicGameState {
@Override
public void init(GameContainer arg0, StateBasedGame arg1)
throws SlickException {}
@Override
public void render(GameContainer arg0, StateBasedGame arg1,
Graphics arg2) throws SlickException {}
@Override
public void update(GameContainer arg0, StateBasedGame arg1, int arg2)
throws SlickException {}
@Override
public int getID() {
return 0;
}
@Override
public void mousePressed(int button, int x, int y) {
System.out.println(x + " " + y); // no matter where I press I get -161 481
}
}
}
Для тех, кто сегодня сталкивается с этой проблемой, я мог бы исправить это, обновив последнюю версию lwjgl 2.9.3
После обновления версии lwjgl положение мыши было обнаружено правильно.
gameContainer.getInput().getMouseX()
? Это скажет вам, работает ли ввод вообще и может помочь вам диагностировать проблему.