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

#ios #swift #scenekit #game-development #collada

#iOS #swift #scenekit #разработка игры #collada

Вопрос:

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

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

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

Ответ №1:

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