首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MouseListener无响应

MouseListener无响应
EN

Stack Overflow用户
提问于 2013-04-25 01:24:30
回答 1查看 323关注 0票数 0

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

代码语言:javascript
复制
public void mouseClicked(MouseEvent e){
    if(e.getButton() == MouseEvent.BUTTON1){
        fire();
    }
}

在一个扩展JPanel的独立类中,我像这样实现MouseListener:

代码语言:javascript
复制
addMouseListener(new MouseAdapter(){
        public void mouseClicked(MouseEvent e){
            player.mouseClicked(e);
        }
    });

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-25 02:11:08

我注意到玩家并不是每次我按下鼠标左键就开始射击的,但更多的是在80%的时间里。

尝试使用mousePressed()而不是mouseClicked()。只有在同一位置生成mousePressed()和mouseReleased()事件时,才会生成mouseClicked事件。也许您将鼠标移动了一两个像素,这样就不会生成mouseClicked事件。

代码语言:javascript
复制
if(e.getButton() == MouseEvent.BUTTON1)

此外,请使用以下更易于阅读的代码来代替上面的代码:

代码语言:javascript
复制
if (SwingUtilities.isLeftMouseButton(e))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16198386

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档