在按下鼠标时更改MouseAdapter

时间:2013-05-07 14:21:58

标签: java mouse mouseevent mouselistener

在我制作的游戏中,我有两种不同的mousePressed()方法,一种用于单次射击,另一种用于自动射击,如果你得到一个自动武器,它将改变mousePressed()方法用于自动点火的单一火力。

稍后当你丢失自动武器时,它会重新回到mousePressed()进行单次射击(我这样做有两个MouseAdapter和使用addMouseListener和{{1 }})。

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

我如何制作它以便在按下鼠标时切换mousePressed()

1 个答案:

答案 0 :(得分:2)

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

相关问题