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

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

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

2 ответа

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

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

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

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

Другие вопросы по тегам