2015-03-14 2 views
0

Я знаю, что есть изображения запуска, а основная (и единственная) цель изображения запуска - дать пользователям впечатление, что приложение работает быстро и быстро.Заставка в играх iOS

Но это более обычное явление для приложений (например, для приложения погоды), а не для игр. В каждой игре почти всегда есть заставка, и так должно быть в играх (или это только я :).

Во многих играх можно увидеть, что изображение запуска используется как заставка или рекламный материал для показа таких вещей, как логотипы ... Итак, что было бы правильным способом для игры иметь заставку? Лучше ли следовать HIG и делать «скриншот» пользовательского интерфейса (без элементов, только фона), чтобы у пользователя действительно было впечатление, что приложение загружается мгновенно и после запуска изображения удаляется, чтобы показать заставку? Или как другой вариант, использовать образ запуска в качестве заставки (как во многих играх)?

При использовании образа запуска в качестве экрана заставки возникает проблема, поскольку на более поздних сроках загрузки устройства занимает примерно секунду или меньше, и я думаю, что какое-то задержка запуска изображения не является хорошим решением. Итак, какой предпочтительный способ иметь заставку перед началом игры, что вы, ребята, рекомендуете?

ответ

1

Я как бы ушел от того, что сказал Свен.

Не имеет выплеск изображения, потому что это на самом деле не нужен, если вы не хотите, чтобы пользователь, чтобы сидеть там и смотреть на свой логотипе (как Свен сказал, что это вид грубо =))

Когда игра запускает вашу собственную версию заставки с загрузочной панелью «если». Теперь это имеет смысл, если вы говорите о вхождении в какое-то сумасшедшее меню, которое требует много предварительной загрузки. Для большинства игр вы находитесь в каком-то меню после запуска, и большую часть времени загрузка игровых ресурсов происходит не до тех пор, пока пользователь не решит начать игру. Вы можете начать загрузку ресурсов в фоновом режиме, но они не нужны для меню, поэтому нет смысла препятствовать пользователю видеть ваше меню или взаимодействовать с ним.

Запуск игры - это время, которое было бы более подходящим для отображения экрана загрузки (или экрана типа всплеска) с индикатором выполнения, если ваша фоновая загрузка еще не закончена или вы только сейчас начинаете загружать активы.

Надеюсь, это имеет смысл и полезно.

+0

Да, это имеет смысл много, особенно если вы не загружаете все сразу в памяти и не держите его в течение всего жизненного цикла приложения. Но если вы это делаете, как в приключенческой игре Apple, которая является шаблоном, за которым я частично следил, тогда заставкой/логотипом/или чем-то, в то время как предварительная загрузка ресурсов в фоновом потоке при запуске приложения необходима. Но я постараюсь все лениво загрузить. Спасибо за ответ! – Whirlwind

+0

@Whirlwind Если вы не загружаете все лениво, я бы загрузил именно то, что вам нужно для меню, и сразу же загрузите остальное на фоновый поток. Единственный трюк - проверить, было ли это сделано, когда пользователь идет играть в игру. Если все не закончило загрузку, тогда появится экран загрузки. Скорее всего, вы сделаете предварительную загрузку, но вы захотите проверить, есть ли у вас. С учетом сказанного я большой поклонник лениво загружающих ресурсов. Я бы не хотел загружать все для каждого уровня и так далее. знак равно –

1

Стартовый экран - это артефакт с раннего iOS. Обычно приложение должно сохранять свое состояние и восстанавливать себя при загрузке. Вот почему iOS использует скриншот последнего состояния во время запуска.

Если вы не поддерживаете восстановление состояния своего приложения, тогда есть только одно решение. Управлять запуском приложения быстро, насколько это возможно, и отображать заставку самостоятельно.

Редактировать, чтобы прояснить: Просто закончить делегат приложения так быстро, как вы можете.

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions Отображать затем заставку самостоятельно. Используйте NSTimer, UITapGesture или UIButton для отклонения - или того, что вы хотите. :)

+0

Спасибо за указание на восстановление состояния! Я буду помнить об этом. Я полностью забыл об этой функции, но на самом деле это не касается моего вопроса. Я говорю о первом запуске (последовательность запуска) и пытаюсь понять, что это хороший способ показать логотип, сделать загрузку (в фоновом режиме) сделать приложение удобным и следовать HIG :) Если все возможно :) – Whirlwind

+0

Тогда второй абзац в моем ответе для вас. Просто завершите приложение делегата: - (BOOL) приложение: (UIApplication *) приложение didFinishLaunchingWithOptions: (NSDictionary *) launchOptions так же быстро, как пассивный, и отображает заставку самостоятельно. (nstimer, touch или кнопка, чтобы отклонить - что бы вы ни хотели) –

2

Если у вас должен быть заставку, тогда поставьте его в изображение запуска, не заставляйте пользователя ждать, пока экран заставки исчезнет, ​​пока приложение ничего не делает - это просто грубо для игрока. Никто не хочет смотреть на ваш логотип (независимо от того, насколько он хорош), в то время как они могут играть в вашу игру.

Что будет в порядке - отображать ваш заставку вместе с анимированным индикатором загрузки, в то время как ваша игра загружает ресурсы в фоновом режиме, если у вас должна быть длинная фаза загрузки. Потоковые ресурсы по мере необходимости во время игры все равно будут намного лучше.

+0

Спасибо за ответ. Да, я согласен с тем, что позволить игроку смотреть на логотип - это не путь. Но, как я уже сказал, на более новых устройствах запуск изображений отображается примерно секунду или меньше, поэтому экран всплеска (который на самом деле запускает изображение) не будет отображаться должным образом ... И если использовать индикатор выполнения, заставка должна оставаться пока ресурсы не будут загружены в фоновый поток. И это невозможно, если использовать образ запуска, потому что запуск образа удаляется при выполнении appDidFinishLaunching. Можете ли вы более подробно описать эту последовательность при отображении экрана всплеска и добавлении полосы выполнения? – Whirlwind

Смежные вопросы