#input #libgdx #window #scene2d
#ввод #libgdx #окно #scene2d
Вопрос:
Проблема: я пытаюсь добавить в свою игру окно, которое не переопределяет все входные данные. Я хочу иметь возможность перемещать проигрыватель с помощью ввода с клавиатуры, пока открыто окно.
Что я пробовал:
- Я добавил этап и обработчик управления вводом проигрывателя в InputMultiplexer, но, похоже, что этап Scene2D полностью игнорирует все входные данные, если это не влияет на последнее добавленное окно.
- Я попытался получить ввод с клавиатуры из Window и передать его моему обработчику ввода проигрывателя. Не удалось найти какой-либо процессор ввода в классе Window.
- Изменен приоритет обработчика ввода проигрывателя на начало входного мультиплексора, по-прежнему игнорируется.
Вопрос: Есть ли способ переопределить эту функциональность? Должно быть, я что-то упускаю. Спасибо.
Комментарии:
1. Вместо описания вашего кода вы могли бы показать нам код.
2. github.com/vedi0boy/ArchipeloClient Вот мой репозиторий git. Код, о котором идет речь, находится внутри
core/src/.../screens/gamescreen/chatwindow.java
(Window) иcore/src/.../screens/gamesscreen.java
(Screen for game) иcore/src/.../tools/controlsmanager.java
(Player controls input manager).3. Когда вы говорите «весь» ввод, вы буквально имеете в виду все типы ввода или только клавиатуру? Вы настраиваете ChatWindow, чтобы получить фокус клавиатуры сцены. Я не понимаю, почему он будет требовать каких-либо других типов ввода, если вы не установили его
isModal
.4. Кажется, что сенсорный ввод работает. Я добавил код для расфокусировки клавиатуры, если пользователь касается вне окна, но он по-прежнему не видит ввод с клавиатуры. Кроме того, что это
isModal
такое?