mousePressed
我对和mouseDragged
事件有点问题。我正在尝试创建一个太空射击游戏,我希望玩家能够通过按下并在鼠标周围移动来进行射击。我认为我遇到的最大问题在于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;
}
先感谢您!