[英]How to get mouse position and buffer?
我如何获得鼠标位置。 我试过了:
int mouseX = MouseInfo.getPointerInfo().getLocation().x;
int mouseY = MouseInfo.getPointerInfo().getLocation().y;
但这对整个屏幕都是如此。 无论如何都要相对于 JPanel/JFrame
如果我只使用每毫秒重新绘制的 Graphics JFrame 和 JPanel,我应该有缓冲区吗? 还是会没事的?
如何仅将 mouseAcionEvent 添加到框架中,以便它获取鼠标的 X() 和 Y() 但仅在框架中?
使用MouseListener
而不是MouseInfo
。 MouseListener
将触发与引发它们的组件上下文相关的事件,这意味着您不需要将事件转换到组件空间中,因为该事件已经被转换到组件上下文中。
有关更多详细信息,请参阅如何编写鼠标侦听器
我应该如何每毫秒或以其他方式更新我的游戏 rePaint()?
使用javax.swing.Timer
...
有关更多详细信息,请参阅 如何使用摆动计时器...
我应该使用缓冲区吗?
那将取决于。 Swing 组件已经是双缓冲的,但是如果您使用更复杂的计时机制(AKA 游戏循环),您可能会发现它很有用,甚至可以自己滚动。
我个人会从简单的开始
我怎样才能改进我首先想到我的代码的方式? 有 10 个循环还是只有 1 个循环可以减少延迟等。
可能有很多东西,但从更广泛的想法开始......
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.