Использование замены сцены для навигации - PullRequest
0 голосов
/ 11 ноября 2011

У меня вопрос по поводу замены сцены в cocos2d.

Предположим, что мое игровое меню имеет следующую структуру:

  1. Главное меню
  2. Play
    2.1 Уровни стратегии
    2.2 Уровни точности
  3. Настройки
  4. Учебник

Является ли рекомендуемый метод навигации между меню «заменить сцену» или «нажать / выдвинуть»?

В некоторых местах я читал, что хорошо избегать push / pop в cocos2d. Но моя проблема в использовании замены сцены в том, что у меня сложилось впечатление, что я просто складываю сцены вместо того, чтобы иметь надлежащий навигационный поток.

1 Ответ

0 голосов
/ 11 ноября 2011

Push и Pop сцены собираются в стеке ваших сцен. Каждый раз, когда вы нажимаете новую сцену, старая сцена остается в памяти, и вам нужно точно такое же количество popScene, чтобы вернуться к начальной сцене.

Так что да, использование replaceScene является стандартным и рекомендуемым методом переключения сцен. Хотя replaceScene удаляет исходную сцену из памяти, существует короткое время наложения, когда обе сцены остаются в памяти. Поэтому, если у вас есть две сцены с большим объемом памяти, рекомендуется вместо этого пройти сцену временной загрузки, чтобы дать предыдущей сцене достаточно времени для освобождения памяти.

Обратите внимание, что вы не можете вызвать replaceScene в методе init сцены. Это приведет к сбою CCDirector.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...