我正在用 Java 开发一个小型游戏引擎,我使用 Swing 来收集输入和显示图形。我有一个奇怪的MouseMoved
事件错误,我想知道 EDT 是否以给定的顺序处理输入,以了解我的代码是否有其他问题。我在网上找不到任何信息。这是我的mouseMoved()
方法:
gameFrame.addMouseMotionListener(new MouseMotionAdapter() {
@Override
public void mouseMoved(MouseEvent e) {
GameScene lastScene = null;
synchronized (scenes) {
if (scenes.size() > 0) {
lastScene = scenes.get(scenes.size() - 1);
}
}
if (lastScene != null && lastScene.isRunning()) {
lastScene.mouseMoved((int) (e.getX() / scale), (int) (e.getY() / scale), cameraX, cameraY, scale);
}
}
});
根据System.nanotime()
它的运行方式不到一毫秒。