Как показать экран загрузки во время загрузки среды .DAE и персонажей?

Я новичок в SceneKit, и первое, что я заметил, — это время, необходимое для загрузки среды DAE и персонажей. Я искал способы показать экран загрузки во время загрузки среды, но ни один из них не работает.

Всякий раз, когда я нажимаю с экрана меню на экран игры, он показывает примерно половину экрана меню и половину экрана игры с компонентами UIKit, а примерно через 3 секунды показывает экран игры, не заканчивая переход анимации нажатия. Очевидно, что это не очень удобно для пользователя, поэтому я хотел бы знать, как добавить экран загрузки до тех пор, пока не появится среда, и желательно не замораживать пользовательский интерфейс, потому что я хочу найти противников в бэкэнде, а также пользователь может отменить.

В настоящее время у меня есть все виды загрузки игрового экрана в viewDidLoad. Если бы вы могли предоставить пример страницы загрузки, либо представление, либо viewController, которые были бы оценены.


person Samuel Folledo    schedule 17.10.2020    source источник


Ответы (1)


Я создал собственный индикатор выполнения UIKit, чтобы добавить несколько улучшенных эффектов, и вызвал progressUpdate, чтобы переместить индикатор. Класс gameNodes (sharedInstance), в котором я кэширую и делюсь информацией об узле с другими классами. gameNodes-›loadModels() выполняет обратный вызов каждые N/Total для обновления панели. В gameViewController->viewDidLoad я загрузил модели после того, как создал компоненты UIKit и выровнял их. Я попробовал заставку, чтобы помочь, но я, должно быть, сделал это неправильно, потому что это никогда не работало. Есть некоторое время ожидания, потому что сценакиту нужно было загрузиться (в моем случае), поэтому он не был идеальным на всех устройствах. Тем не менее, он дал то, что я считал разумной обратной связью, когда модели загружались.

person Voltan    schedule 18.10.2020