Java 在按下鼠标时更改MouseAdapter

Java 在按下鼠标时更改MouseAdapter,java,mouse,mouseevent,mouselistener,Java,Mouse,Mouseevent,Mouselistener,在我正在制作的游戏中,我有两种不同的mousePressed() 稍后,当你失去自动武器时,它将卡回到鼠标按下()进行单次射击(我使用两个鼠标头捕捉器和使用添加鼠标头捕捉器和移除鼠标头捕捉器) 问题是,如果你在失去自动武器时一直按住鼠标,你仍然会自动射击,直到你松开鼠标,然后再次按下鼠标,它将切换到单发射击mousePressed() 我如何使它在按下鼠标时切换MouseAdapter?我建议您实现两个类:normalwear和AutomaticWeapon或类似的类。这些类应该实现一个fire

在我正在制作的游戏中,我有两种不同的
mousePressed()

稍后,当你失去自动武器时,它将卡回到
鼠标按下()
进行单次射击(我使用两个
鼠标头捕捉器
和使用
添加鼠标头捕捉器
移除鼠标头捕捉器

问题是,如果你在失去自动武器时一直按住鼠标,你仍然会自动射击,直到你松开鼠标,然后再次按下鼠标,它将切换到单发射击
mousePressed()


我如何使它在按下鼠标时切换
MouseAdapter

我建议您实现两个类:
normalwear
AutomaticWeapon
或类似的类。这些类应该实现一个
fire
方法,该方法将一直开火,直到没有子弹为止。您的
MouseAdapter
仍将正常发送
fire
命令,但它将不再触发。它将“强制”玩家释放按钮,还将防止你在没有子弹的情况下不继续射击。

你能触发一些mouseUp()或mouseCancel()事件吗?这样,当前的MouseAdapter可能会认为mousePressed()事件已停止–并释放MouseAdapter,以便您可以将其更改为“single fire”MouseAdapter。请参阅Post不再使用两个单独的
ActionListener
,创建一个
ActionListener
。因为这两种武器有两种不同的等级。现在,
ActionListener
应该根据武器类型调用正确的类。