Я работаю над выяснением того, что происходит с пользовательским интерфейсом моей игры, по крайней мере, два дня, и никакого прогресса.
Обратите внимание, что это мобильная игра, но меня попросили построить дляWindows для визуализации и презентации.
Проблема в том, что когда я запускаю свою игру на платформах Unity Editor, Android, iOS и Mac, пользовательский интерфейс работает просто отлично, но когда я запускаю игру в Windows,Пользовательский интерфейс по-прежнему работает нормально, пока я не загрузил конкретную сцену.
Эта конкретная сцена является экраном загрузки (между главным меню и уровнем), когда уровень завершил асинхронную загрузку, в скрипте на экране загрузки вызывается метод с именем MoveObjects
, чтобы переместить некоторые объекты, которыепорождался в сцене экрана загрузки в сцену уровня (хотя это не проблема, поскольку я уже пробовал без этого метода, и проблема с пользовательским интерфейсом сохраняется).
Как только логика этого метода MoveObjects
готово, кнопка запуска активирована на экране загрузки, чтобы игрок мог щелкнуть и начать играть (я пытался переместить кнопку запуска на сцену уровня, поскольку, возможно, проблема не в том, что ребенок в текущей активной сцене может быть проблемой,но проблема все еще сохраняется).В этот момент пользовательский интерфейс частично поврежден, я имею в виду то, что кнопки (и некоторые другие элементы пользовательского интерфейса, такие как полоса прокрутки) видят изменение цвета / состояния, когда мышь перемещается над ними, но я не могу нажать на нихбольше (кнопка не изменится даже на нажатое состояние).
Также обратите внимание, что я попытался создать сборку разработки, чтобы увидеть, есть ли какие-либо ошибки в консоли, и я заметил, что эта проблема также влияет на старуюСистема пользовательского интерфейса, поэтому я больше не мог взаимодействовать с консолью разработки.
Также обратите внимание, что если я беру и перетаскиваю полосу прокрутки до появления этой проблемы, я продолжаю удерживать полосу прокрутки, пока это не произойдет.мышь застревает на полосе прокрутки, что означает, что я больше не могу взаимодействовать с пользовательским интерфейсом, но полоса прокрутки все еще будет двигаться с помощью мыши.
- Я уже проверяю, что эти вещи не являются источникомпроблема:
- Отсутствует EventSystem, GraphicRaycaster или InputModule.
- ДругойЭлемент пользовательского интерфейса, блокирующий остальную часть пользовательского интерфейса.
- Canvas равен
Screen Space - Overlay
, поэтому нет необходимости в ссылке на камеру. - У меня есть только один
EventSystem
. Time.timeScale
равно 1.
Я не уверен, что еще я мог бы попробовать, поэтому, если у кого-то есть какие-либо предложения, я был бы признателен.Спасибо.
PS: Мне жаль говорить, что я не могу поделиться каким-либо кодом, визуальным материалом или примерами из-за конфиденциальности.