gpt4 book ai didi

java - MouseListener 无响应

转载 作者:行者123 更新时间:2023-12-01 14:38:53 25 4
gpt4 key购买 nike

我的游戏中处理射击的 MouseListener 在使用单独的鼠标时没有响应,但在使用笔记本电脑上的内置鼠标时却没有响应。在我的播放器类中,mouseClicked 方法如下所示:

public void mouseClicked(MouseEvent e){
if(e.getButton() == MouseEvent.BUTTON1){
fire();
}
}

在一个扩展 JPanel 的单独类中,我实现了 MouseListener,如下所示:

addMouseListener(new MouseAdapter(){
public void mouseClicked(MouseEvent e){
player.mouseClicked(e);
}
});

我一直使用内置鼠标来编码和测试游戏,每次单击鼠标左键时,玩家都会开始射击,但现在当我想尝试用鼠标玩游戏时,我注意到玩家并不是每次我按下鼠标左键就开始射击,而是大约 80% 的时候都开始射击。

最佳答案

I noticed that the player didn't start shooting everytime I pressed the left mouse button but more like 80% of the time.

尝试使用mousePressed()而不是mouseClicked()。仅当在同一位置生成 mousePressed() 和 mouseReleased() 事件时,才会生成 mouseClicked 事件。也许您将鼠标移动一两个像素,因此不会生成 mouseClicked 事件。

if(e.getButton() == MouseEvent.BUTTON1)

此外,使用以下更易于阅读的内容代替上面的内容:

if (SwingUtilities.isLeftMouseButton(e))

关于java - MouseListener 无响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16198386/

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