用于处理拍摄的游戏的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%的时间。
答案 0 :(得分:1)
我注意到每次按下鼠标左键时播放器都没有开始拍摄,但更多的是80%的时间。
尝试使用mousePressed()
代替mouseClicked()。只有在同一位置生成mousePressed()和mouseReleased()事件时,才会生成mouseClicked事件。也许您正在将鼠标移动一两个像素,因此无法生成mouseClicked事件。
if(e.getButton() == MouseEvent.BUTTON1)
此外,代替以上使用以下更易于阅读的内容:
if (SwingUtilities.isLeftMouseButton(e))