Пишу пошаговую 2D игру, где персонаж передвигается в строго заданном направлении по клеткам поля. Использую MouseListener. При нажатии правой кнопки мыши вызывается метод pressRightButton() из класса Game(game - объект класса Game, в котором описаны методы, отвечающие за передвижение персонажа), который отвечает за определенную последовательность действий: в данном случае совершает 2 шага вперед, с задержкой между шагами 2 секунды.
Вопрос состоит в том, что при нажатии правой кнопки мыши первым делом выполняется задержка в 2 секунды, а затем 2 раза выполняется метод moveForward() без всякой задержки между ними. Почему так происходит и как сделать так, чтобы задержка происходила между методами?
panel.addMouseListener(new MouseAdapter(){
@Override
public void mousePressed(MouseEvent e) {
if(e.getButton() == MouseEvent.BUTTON3)
game.pressRightButton();
}
}
Метод pressRightButton():
public void pressRightButton() {
moveForward();
try {
Thread.sleep(2000);
} catch (InterruptedException ex) { };
moveForward();
}
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости