Люди здесь продолжают предлагать мне использовать ключевые привязки в Java 2D-играх вместо Key Listener.О ключевых привязках в Java
Итак, я узнал об этом, и я хотел бы знать, насколько я правильно понимаю, как его использовать.
Предположим, у меня есть игра с двумя играми, каждый игрок может нажать 5 кнопок.
Игрок 1:
- UP стрелки - движение вперед
- ЛЕВЫЙ стрелка - изменить угол движения
- RIGHT стрелка - изменить угол движения
- КОСМИЧЕСКИЙ ключ - огневая ракета
- л ключ - пожар вторичного ракетного
Игрок 2:
- Вт ключ - двигаться вперед
- A ключ - угол изменения движения
- D ключ - угол изменения угла поворота
- CAPS-LOCK ключ - огонь ракета ключ
- «Z» - огонь вторичного ракетного
Если я хочу, чтобы программа по-разному реагируют на каждый из различных нажатий клавиш, чем это то, что я что нужно сделать:
- Создать новые вложенные классы, простирающиеся AbstractAction, внутри класс, который работает большую часть игровой логики (?).
- Создайте экземпляр каждого из этих новых классов и привяжите каждого к ключу.
Это правильно? Действительно ли логично создавать 10 новых классов только для нажатия кнопок? Я хочу знать, правильно ли я понимаю, как использовать привязки клавиш, поэтому я могу начать программирование с ним.
Благодаря
Я понимаю, что мне нужно создать 10 разных экземпляров. Но мне нужно создать 10 разных * классов *? (each with instance?) – user3150201
Что вы написали выше: Что он делает? Создает ли он новый класс с именем leftAction, расширяет AbstractAction? Или он создает новый экземпляр AbstractAction, а затем переопределяет actionPerformed() для этого конкретного экземпляра? – user3150201
Ну технически с кодом выше вы создаете анонимный класс. вам нужно будет повторить верхнюю часть моего кода 10 раз для различных действий. –