我有一个名为MyScene的CCLayer子类。在App Delegate中,我添加了以下代码:
-(void) applicationDidEnterBackground:(UIApplication*)application {
[[CCDirector sharedDirector] stopAnimation];
if( [[CCDirector sharedDirector] runningScene] != nil ) {
if( [[[CCDirector sharedDirector] runningScene] isKindOfClass:[MyScene class]] ) {
MyScene *scene = (MyScene*) [[CCDirector sharedDirector] runningScene];
[scene goingToBackground];
}
}
}
该应用程序有一个运行场景,我知道它是MyScene,但isKindOfClass不返回YES。为什么呢?
答案 0 :(得分:1)
[[CCDirector sharedDirector] runningScene]
始终返回CCScene而不是CCLayer对象。
当您将CCScene与CCLayer子类(即MyScene)进行比较时,它总是返回false。尝试设置MyScene对象的标记并按标记获取该对象并进行比较。它将返回YES