使用Parameter在cocos2d中初始化场景

时间:2011-04-13 04:17:23

标签: ios objective-c cocos2d-iphone

我正在尝试在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 个答案:

答案 0 :(得分:19)

将此方法添加到子类

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

而不是

GameScene *scene = [GameScene node]; 

GameScene *scene = [GameScene nodeWithGameLevel:levelNumber];