如何获得鼠标位置。我试过了:
int mouseX = MouseInfo.getPointerInfo().getLocation().x;
int mouseY = MouseInfo.getPointerInfo().getLocation().y;
但这对整个屏幕来说都是如此。无论如何相对于JPanel / JFrame来做它
如果我只使用每毫秒重新绘制的图形JFrame和JPanel,我应该有缓冲区吗?还是会没事的?
答案 0 :(得分:1)
如何仅将mouseAcionEvent添加到帧中,以便获取鼠标的X()和Y(),但只能在帧中?
使用MouseListener
代替MouseInfo
。 MouseListener
将触发与引发它们的组件相关的事件,这意味着您不需要将事件转换为组件空间,因为事件已经转换为组件上下文。
有关详细信息,请参阅How to write a mouse listener
我应该如何每毫秒或其他方式更新我的游戏重画()?
使用javax.swing.Timer
...
有关详细信息,请参阅How to use Swing Timers ...
我应该使用缓冲区吗?
这将取决于。 Swing组件已经是双缓冲的,但是如果你使用更复杂的计时机制(AKA游戏循环),你可能会发现它很有用,甚至可以自己动手。
我个人会开始简单的
如何才能改善我首先考虑代码的方式?是正确的有10个循环还是只有1个减少滞后等。
可能有很多东西,但从更广泛的想法开始......