在我正在制作的游戏中,我有两种不同的 mousePressed()
方法,一种用于单次射击,一种用于自动射击,如果你获得自动武器,它会改变 mousePressed() ()
方法从单发射击改为自动射击。
稍后,当您丢失自动武器时,它将返回到 mousePressed()
进行单次射击(我通过使用两个 MouseAdapter
并使用 addMouseListener
和removeMouseListener
)。
问题是,如果你在失去自动武器时一直按住鼠标,你仍然会自动射击,直到你释放鼠标然后再次按下它,它会切换到单次射击 mousePressed()
.
我该如何做才能在按下鼠标时切换MouseAdapter
?
最佳答案
我建议您实现两个类:NormalWeapon
和 AutomaticWeapon
或类似的东西。这些类应该实现一个 fire
方法,该方法会持续射击,直到没有更多的子弹为止。您的 MouseAdapter
仍会正常发送 fire
命令,但它不会再触发。它会“强制”玩家释放按钮,并且还会阻止您在没有子弹时继续射击。
关于java - 按下鼠标时更改 MouseAdapter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16421462/