java - 按下鼠标时更改 MouseAdapter

标签 java mouse mouseevent mouselistener

在我正在制作的游戏中,我有两种不同的 mousePressed() 方法,一种用于单次射击,一种用于自动射击,如果你获得自动武器,它会改变 mousePressed() () 方法从单发射击改为自动射击。

稍后,当您丢失自动武器时,它将返回到 mousePressed() 进行单次射击(我通过使用两个 MouseAdapter 并使用 addMouseListenerremoveMouseListener)。

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

我该如何做才能在按下鼠标时切换MouseAdapter

最佳答案

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

关于java - 按下鼠标时更改 MouseAdapter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16421462/

相关文章:

javascript - jQuery mouseenter 和 mouseleave 处理程序无法正常工作

javascript - JQuery .on ("click") 在触摸设备上触发 "mouseover"

javascript - 在每次移动鼠标时,可拖动元素的定位都会重置为零

java - 在 ROME rss 文件上添加 guid

java - 带有 .JSP 索引文件的 Webpack

java - 如何让Luke支持lucene 4.1

vb.net - 如何模拟鼠标点击?

python - 鼠标左键触发 "long click"的命令

java - 在 db :migrate for jruby 上获取空指针异常

javascript - overflow hidden 时检测用户滚动尝试