#java #lwjgl
#java #lwjgl
Вопрос:
Ну, я изучал org.lwjgl.input.Класс клавиатуры, а затем я увидел, что существуют методы create () и destroy(), но для чего они используются? Потому что я могу использовать класс Keyboard, ничего не создавая.
Ответ №1:
Прямо из документов API:
«Создайте» клавиатуру. Сначала должно быть создано отображение. Причина этого в том, что на клавиатуре есть окно для «фокусировки».
И из руководства на этом сайте (переведено с испанского):
Для клавиатуры, как и для мыши, мы должны «инициализировать» клавиатуру, для этого мы будем печатать
Keyboard.create()
. С этим мы теперь можем продолжить работу с функциями клавиатуры.
За этим следует этот образец:
Keyboard.create();
if(Keyboard.isKeyDown(Keyboard.KEY_UP)) {
//Código a realizar cuando se pulsa arriba
}
if(Keyboard.isKeyDown(Keyboard.KEY_DOWN)) {
//Código a realizar cuando se pulsa abajo
}
if(Keyboard.isKeyDown(Keyboard.KEY_LEFT)) {
//Código a realizar cuando se pulsa izquierda
}
if(Keyboard.isKeyDown(Keyboard.KEY_RIGHT)) {
//Código a realizar cuando se pulsa derecha
}
Таким образом, он в основном инициализирует клавиатуру, чтобы вы могли получать входные данные от Keyboard
объекта. То же самое для destroy()
метода, который, вероятно, перестал бы получать входные данные. Причина, по которой вы можете использовать его без вызова этих методов, может заключаться в том, что они были частью более старой реализации и все еще существуют по соображениям совместимости.
Комментарии:
1. Ну, прошло много времени с тех пор, как я в последний раз использовал LWJGL, и с тех пор, как вы говорите, что вам не нужно их вызывать, ну, может быть, они действительно бесполезны.
2. Ну, наблюдая за кодом, я заметил, что на самом деле он ничего не делает, он вызывает пустую пустоту в org.lwjgl.Sys
3. Ну вот, так что это просто для обратной совместимости или устаревших приложений.