2

在我正在制作的游戏中,我有两种不同的mousePressed()方法,一种用于单发,一种用于自动开火,如果您获得自动武器,它会将mousePressed()方法从用于单发的方法更改为自动开火的方法。

稍后,当您丢失自动武器时,它会重新回到mousePressed()单次射击(我通过使用两个MouseAdapters 和使用addMouseListenerand来做到这一点removeMouseListener)。

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

我将如何制作它以便MouseAdapter在按下鼠标时切换?

4

1 回答 1

2

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

于 2013-05-07T14:29:28.710 回答