Libgdx: установка другого экрана, но все же кнопки с старого экрана активны

В моей game libgdx у меня есть 2 экрана, menu и list . Когда я нажимаю на label на экране menu , я делаю setscreen(list) . Появится новый экран, и экран меню вместе с его ярлыками исчезнет.

Но когда я нажимаю на те же позиции (из экрана меню, где были метки, но, конечно, эти ярлыки не отображаются, поскольку я менял экраны), событие click реагирует. Зачем?

Note: На моем экране списка в настоящее время нет обработчиков событий для любого виджета.

При переключении экранов мне нужно сделать что-то большее, чем просто setscreen(anotherscreen) чтобы отключить старый экран?

Я изменил это:

Я переместил входной процессор в метод show () этого экрана, используя переменную сцены этого экрана

 public void show() { ... Gdx.input.setInputProcessor(stage); } 

До того, как я установил это только в конструкторе экрана, так что даже если бы я менял экран, входной процессор все еще был привязан к последней стадии созданного экрана

Ответ выше adiddnt работает для меня, потому что я не работаю с InputProcessor на втором экране.

Мое решение состояло в том, чтобы установить InputProcessor на null после setScreen.

Gdx.app.getApplicationListener().setScreen(new Screen()); Gdx.input.setInputProcessor(null);

Просто сломал мне голову над этим. Я изменил экраны в методе show но после этого Gdx.input.setInputProcessor(stage) . Метод по-прежнему завершен после того, как запущен show метод нового экрана и, таким образом, вернется к предыдущему этапу.

Поэтому убедитесь, что вы вызываете Gdx.input.setInputProcessor(stage) прежде чем менять экраны или return после изменения экранов.

Intereting Posts
Приложение RESTlet tutorial не возвращает объекты Java (только JSON) Измените тему android от cordova config.xml Нужен ли мне файл android.permission.WAKE_LOCK для сервисов Google Play, если я только выпущу его в Google Play Store? Android-панель навигации всегда создает новые действия Авто питание на Android, когда зарядное устройство подключено Мне нужен SQL-запрос, чтобы найти все слова, которые вы можете сделать, с помощью набора букв, включая до двух пустых фрагментов Есть ли способ заполнить родительский минус фиксированное число в Android RelativeLayout? Как разделить левое и правое изображение камеры (HTC Evo 3D) в данных предварительного просмотра камеры Показывать push-уведомления, когда приложение открыто / закрыто по-разному Отладка проекта библиотеки Android с исходным кодом Java Как выполнить проверку подлинности HTTP в android? Как получить «последнюю синхронизацию» времени для учетной записи? Cursor.getstring () получает неправильное поле в базе данных Нажатие панели инструментов на панели состояния Диалог прогресса по открытой деятельности