mousePressed
및 mouseDragged
이벤트에 약간의 문제가 있습니다. Space Shooter 게임을 만들려고합니다. 플레이어가 마우스를 누르고 움직여서 쏠 수있게하려고합니다. 큰 문제는 mouseDragged
이벤트가 있다고 생각합니다. 더 구체적으로 : 마우스 버튼을 누르면 mousePressed
이 호출되고 완벽하게 실행됩니다. 마우스를 움직이면 (여전히 마우스를 계속 누르고 있습니다) mouseDragged
이 들어가서 잘 동작하지만, 마우스를 움직이지 않으면 나는 아직도 눌렀다.) 나의 우주선은 발사를 멈추고 나는 왜 그런지 모르겠다. 자바 게임 - 마우스가 눌려지고 마우스가 끌림
private void initShootingThread(final MouseEvent e) {
new Thread() {
public void run() {
do {
playerShoot(e);
} while (buttonPressed);
}
}.start();
}
// // PLAYER SHOOTING EVENTS ////
public void mouseClicked(MouseEvent e) {
playerShoot(e);
}
public void mousePressed(MouseEvent e) {
buttonPressed = true;
initShootingThread(e);
}
public void mouseDragged(MouseEvent e) {
buttonPressed = false;
playerShoot(e);
}
public void mouseReleased(MouseEvent e) {
buttonPressed = false;
}
가 사전에 감사합니다
이 코드입니다!
문제는이 총알 같은 위치에서 이동합니다 우주선을 멀리 옮겨야한다는 사실. [link] (http://s1318.photobucket.com/user/Andy19505/media/Game_zps72b9ee10.jpg.html). 이것이 내가 의미하는 바입니다. – Andy
그래서 문제를 해결하십시오. playerShoot (e) 코드가 잘못되어 있어야합니다. 두 버전이 필요할 수 있습니다. 하나는 mousePressed이고 다른 하나는 mouseDragged()입니다. 우리는 코드에 액세스 할 수 없으므로 기본적인 디버깅을 스스로해야합니다. 우리는 올바른 방향으로 당신을 지적했습니다. – camickr
답장을 보내 주셔서 감사합니다. 해결책을 제시하려고합니다. 합리적인 기간에 찾을 수 있다면 게시 해 드리겠습니다. ;) – Andy