Какая сцена 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.