2013-02-16 5 views
0

Я разрабатываю маленький игровой апплет, и я бы хотел, чтобы он подождал, пока пользователь нажмет spacebar, но я не уверен, какой лучший подход для этого будет. Здесь я написал a SSCCE движущегося блока.Как начать анимацию игры с помощью пробела?

http://pastebin.com/Zq1eMEJ9

Любые предложения будут высоко оценены!

+1

Bind начала() метод для вашего ключевого слушателя действий для пробела? Вернее, создайте прослушиватель действий для вашей пробела и вызовите метод start() внутри него, когда вызывается actionPerformed(). –

+2

Вы можете вставить свой код непосредственно в вопрос без ссылки на pastebin. – iTech

ответ

3

Надеется, что это сортирует вашу проблему ...

public void keyTyped(KeyEvent evt) { 
    if (evt.getKeyChar() == ' ') { 
      Thread th = new Thread(movingBoxInstance); 
      th.start(); 
    } 
} 
+1

IMHO keyListener - плохой выбор, поскольку он страдает от проблем с фокусом (если компонент не имеет прямой фокус, keyListener не будет запущен). При использовании Swing привязки клавиш являются лучшим (и в целом безопасным) выбором. Если использовать AWT, keyListener - единственный практический выбор. – MadProgrammer

+0

Спасибо MadProgrammer, который действительно полезная информация, предоставленное решение показалось немного более похожим на взломать, чем решение. – phcoding

Смежные вопросы