У меня есть игра, в которой вы можете запускать пули, добавляя пули к классу Controller при нажатии клавиши. Вот код от KeyPressed();Добавление задержки между снимками (нажатия клавиш)
else if (key == KeyEvent.VK_Q && !is_shooting)
{
is_shooting = true;
c.addBullet(new Bullet(p.getX(), p.getY(), this));
}
из KeyRealeased:
else if (key == KeyEvent.VK_Q)
{
is_shooting = false;
}
Как есть, вы можете снимать столько, сколько вы хотите, то is_shooting просто останавливается от удерживая клавишу вниз. Я бы хотел, чтобы после того, как вы стреляете, есть кулдаун, прежде чем вы сможете сделать следующий снимок. Я попытался использовать Thread.Sleep, но это также сделает так, чтобы персонаж не мог двигаться во время кулдауна. Любая помощь приветствуется.
'Thread.sleep' не блокирует плеер, но все события очереди, если вы реализуете его непосредственно в методах обработки ключей. В принципе, полный графический интерфейс зависает. – Paul