Поток активности в игре Android — возврат к началу

#android #android-activity #flow

#Android #android-активность #Логические

Вопрос:

Я ищу наилучший способ настройки навигации в игре для Android; наилучшая практика для навигации в игре для Android. У меня следующий сценарий:

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

Следовательно, если игрок запускает игру и проходит два уровня, у него может быть стек активности, который выглядит примерно так:

Схема возможного потока работы программы.

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

  • Если бы я был в последнем промежуточном меню и нажал «Назад», я бы ожидал вернуться в главное меню. Вместо этого это, вероятно, вернуло бы меня к уровню, который я только что выиграл.
  • Я бы не ожидал, что последние уровни, на которых я играл, и предыдущие действия в меню между ними останутся там, в заднем стеке. Я бы ожидал, что в любой момент времени в заднем стеке будут находиться только главное меню, текущий уровень, на котором я играю, и один экземпляр промежуточного меню.

Насколько я могу судить, все остальное будет работать должным образом и так, как ожидает пользователь. Думаю, я просто хочу знать, какие наилучшие варианты решения такого рода проблем. Чтобы убедиться, что действия в этой игре происходят так, как ожидалось. Должны ли они вообще быть отдельными действиями? Спасибо.

Ответ №1:

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

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

Комментарии:

1. 1 за отличный ответ. Это выгодно не только из-за сложности. Это будет стоить намного меньше памяти, особенно в игровом сценарии.

2. Достойная стратегия. Что вы делаете, когда впервые запускаете игру и переходите из главного меню -> Меню между -> Уровень выполнения, но вы не хотите показывать меню Между, когда вы это делаете? Может быть, заставить меню «Между» распознать, что ни один уровень еще не был сыгран, и сразу перейти к следующему?

3. Если вы хотите, чтобы промежуточное отображение отображалось при повторном нажатии, да. Хотя возврат к главному меню при первом «back» также может сработать. Попробуйте оба способа и посмотрите, какой покажется более естественным вам и / или вашим тестировщикам. Надеюсь, это поможет, удачи!