在我制作的游戏中,我有两种不同的mousePressed()
方法,一种用于单次射击,另一种用于自动射击,如果你得到一个自动武器,它将改变mousePressed()
方法用于自动点火的单一火力。
稍后当你丢失自动武器时,它会重新回到mousePressed()
进行单次射击(我这样做有两个MouseAdapter
和使用addMouseListener
和{{1 }})。
问题在于,如果你在失去你的自动武器时一直按住鼠标,你仍然会自动射击,直到你松开鼠标然后再次按下鼠标,它会切换到单一的射击removeMouseListener
。
我如何制作它以便在按下鼠标时切换mousePressed()
?
答案 0 :(得分:2)
我建议你实现两个类:NormalWeapon
和AutomaticWeapon
或类似的东西。这些类应该实现一个fire
方法,一直持续射击,直到没有更多的子弹。您的MouseAdapter
仍然会正常发送fire
命令,但它不会再触发。它将“强制”玩家释放按钮,这也可以防止你在没有任何子弹的情况下继续射击。