, поэтому я создаю java-игру, и вот мои щелчки мыши обнаруживаются, но mouseMoved
не запускается вообще. В методе есть оператор печати, который никогда не запускается. Я действительно застрял, потому что, поскольку клики регистрируются по всему окну, не должно быть ничего плохого в движении мыши.В Java, мой MouseMotionListener и MouseListener обнаруживает клики, но не движение
Является ли мышь зависимой от чего-либо еще, потому что я действительно не знаю, что вызывает это.
Спасибо.
public class Mouse implements MouseListener, MouseMotionListener{
private static int mouseX = -1;
private static int mouseY = -1;
private static int mouseB = -1;
public static int getX(){
return mouseX;
}
public static int getY(){
return mouseY;
}
public static int getB(){
return mouseB;
}
public void mouseMoved(MouseEvent e) {
System.out.println("Mouse Moved");
mouseX = e.getX();
mouseY = e.getY();
}
public void mouseEntered(MouseEvent e) {}
public void mouseExited(MouseEvent e) {}
public void mousePressed(MouseEvent e) {
mouseB = e.getButton();
System.out.println(e.getX() + " " + e.getY());
}
public void mouseReleased(MouseEvent e) {
mouseB = -1;
}
public void mouseDragged(MouseEvent e) {}
public void mouseClicked(MouseEvent e) {
}
}
Вот мой конструктор игр, который инициирует все.
public Game(){
//cCursor();
screen = new Screen(WIDTH, HEIGHT);
mouse = new Mouse();
keys = new Keyboard();
//level = new RandomLevel(64, 64);
level = Level.spawn;
TileCoord pSpawn = new TileCoord(20,66);
player = new Player(pSpawn.x(), pSpawn.y(), keys);
player.init(level);
addKeyListener(keys);
addMouseListener(mouse);
}
Не полагайтесь на 'static', это НЕ механизм связи между объектами – MadProgrammer
Хорошо, как вы рекомендуете, чтобы я реализовал мышь для использования в моих классах и объектах, я на самом деле не использовал мышь, которая часто используется в моих java-играх и приложениях, поэтому у меня нет большого опыта работы с лучшим способом вещи. – Meeesh
Сосредоточьте свои усилия на едином взгляде на возможное, где все входы могут быть направлены; используйте модель, которая может обновляться и наблюдаться или запрашиваться – MadProgrammer