gpt4 book ai didi

Java 游戏 - 按下鼠标并拖动鼠标

转载 作者:行者123 更新时间:2023-12-01 23:28:57 28 4
gpt4 key购买 nike

我在使用 mousePressedmouseDragged 事件时遇到了一些问题。我正在尝试创建一款太空射击游戏,我希望玩家能够通过按下并移动鼠标来射击。我认为最大的问题是 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;
}

提前谢谢您!

最佳答案

只要拖动鼠标,就可以从 mouseDragged() 方法手动调用 playerShoot(e) 方法。

但是,您的 mouseDragged() 方法将您的 buttonPressed 变量设置为 false,因此一旦您停止拖动,主循环就会停止。

所以不要将 buttonPressed 变量设置为 false。

关于Java 游戏 - 按下鼠标并拖动鼠标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19623278/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com