Какая сцена cocos2d в настоящее время активна при возврате из приостановленного состояния приложения

Среда представляет собой устройство iOS с поддержкой многозадачности, например iPhone4. Я нахожусь в приложении cocos2d с главным меню, которое ведет к нескольким сценам.

введите здесь описание изображения

Если я переключаюсь на другое приложение с помощью панели задач, а затем переключаюсь обратно, как мне программно определить, какая сцена активна?


person willc2    schedule 10.03.2011    source источник


Ответы (2)


Не могли бы вы просто проверить свойство CCDirector runningScene в методе applicationWillEnterForeground: вашего делегата приложения? Если вы создаете подкласс CCScene, вы можете просто проверить класс сцены, в противном случае вы можете захотеть добавить к каждой сцене какой-то другой идентификатор.

person zkcro    schedule 11.03.2011
comment
Проверка класса дает мне CCScene, который на самом деле не сужает его. - person willc2; 11.03.2011
comment
Вы всегда можете использовать свойство tag CCScene и присвоить каждой сцене отличительный тег при ее создании, а затем проверить тег текущей сцены в applicationWillEnterForeground:. - person zkcro; 11.03.2011

вы можете добавить идентификатор для класса CCSCene, такой как int sceneID или typedef enum { mainMenuID = 0, playSceneID, helpSceneID, aboutSceneID } sceneID, а затем просто назначить каждый из них в методе init каждой сцены... затем вы можете получить его в applicationWillEnterForeground: следующим образом:

int theSceneID = [[[CCDirector sharedDirector] runningScene] classID];

но, как предположил Зайд, намного проще использовать тег CCScene.

person KDaker    schedule 11.03.2011