Отражение не работает для CCScene, почему? - PullRequest
0 голосов
/ 12 апреля 2011

У меня есть подкласс CCLayer с именем MyScene.В приложении «Делегат» я добавил этот код:

-(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 Ответ

1 голос
/ 12 апреля 2011

[[CCDirector sharedDirector] runningScene] всегда возвращает CCScene, а не объект CCLayer. Когда вы сравниваете CCScene с вашим подклассом CCLayer, т.е. MyScene, он всегда возвращает false. Попробуйте установить тег вашего объекта MyScene и получить этот объект по тегу и сравнить его. вернется ДА

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...