Инициализируйте сцену в cocos2d с помощью параметра - PullRequest
6 голосов
/ 13 апреля 2011

Я пытаюсь инициализировать сцену в cocos2d (версия 0.99.5) и хочу передать параметр. В этом случае параметр является значением типа int, соответствующим номеру уровня. Сам класс сцены является подклассом CCLayer, и я инициализирую его методом класса узла:

GameScene *scene = [GameScene node];  //GameScene subclass of CCLayer

У меня есть собственный метод init, который принимает переменную «level» следующим образом:

- (id) initWithGameLevel:(int)level {
    if ((self = [super init])){
        // etc 
    }
}

Просто интересно: неужели я не в своем подходе к созданию собственного метода initWithX и как я могу инициализировать сцену целым уровнем?

1 Ответ

19 голосов
/ 13 апреля 2011

Добавьте этот метод к вашему подклассу

+(id)nodeWithGameLevel:(int)level{
    return  [[[self alloc] initWithGameLevel:level] autorelease];
}

и вместо

GameScene *scene = [GameScene node]; 

написать

GameScene *scene = [GameScene nodeWithGameLevel:levelNumber];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...