環境是支持多任務處理的iOS設備,如iPhone4。 我在一個主菜單導致幾個場景的cocos2d應用程序。哪些cocos2d場景當從暫停的應用狀態返回時當前處於活動狀態
如果我使用任務欄切換到另一個應用程序,然後切換回來,我怎麼編程告訴哪個場景是活躍的?
環境是支持多任務處理的iOS設備,如iPhone4。 我在一個主菜單導致幾個場景的cocos2d應用程序。哪些cocos2d場景當從暫停的應用狀態返回時當前處於活動狀態
如果我使用任務欄切換到另一個應用程序,然後切換回來,我怎麼編程告訴哪個場景是活躍的?
難道你不能只在應用程序委託的applicationWillEnterForeground:方法中檢查CCDirector的runningScene屬性嗎?如果您繼承CCScene類,則只需檢查場景的類,否則可能需要爲每個場景添加其他類型的標識符。
你可以添加一個標識符CCSCene類如int sceneID
或typedef enum { mainMenuID = 0, playSceneID, helpSceneID, aboutSceneID } sceneID
,然後簡單地分配給每一種在每個場景的init
方法......那麼您可以在applicationWillEnterForeground:
檢索它像這樣:
int theSceneID = [[[CCDirector sharedDirector] runningScene] classID];
但像Zaid建議的那樣,使用CCScene的標籤更加容易。
檢查課程給我一個CCScene,這並沒有真正縮小它。 – willc2 2011-03-11 07:38:04
您可以隨時使用'CCScene'的'tag'屬性,並在創建時給每個場景一個獨特的標籤,然後在'applicationWillEnterForeground:'中檢查運行場景的標籤。 – 2011-03-11 11:04:25