反射对CCScene不起作用,为什么?

时间:2011-04-12 09:12:36

标签: iphone objective-c cocos2d-iphone

我有一个名为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。为什么呢?

1 个答案:

答案 0 :(得分:1)

[[CCDirector sharedDirector] runningScene]始终返回CCScene而不是CCLayer对象。 当您将CCScene与CCLayer子类(即MyScene)进行比较时,它总是返回false。尝试设置MyScene对象的标记并按标记获取该对象并进行比较。它将返回YES