COCOS 2D iPhone - 在场景之间解析变量并在图层中使用

时间:2013-05-30 13:49:19

标签: iphone ios cocos2d-iphone

我有使用变量调用新场景的代码:

    [[CCDirector sharedDirector] replaceScene:[GameScene sceneWithParam:item.tag]];

在GameScene.h中

@interface GameScene : CCLayer {
}



+(id) sceneWithParam:(int)nvl;
@end

GameScene.m

+(id) sceneWithParam:(int)nvl
{
    CCScene *scene = [CCScene node];

    GameScene *layer = [GameScene node];

    [scene addChild: layer];

    return scene;

}


-(id) init
{

    if( (self=[super init] )) {



    }
    return self;
}

我无法在nil内使用变量if( (self=[super init] )) { 我已经尝试设置属性testtest = nvl; inside +(id) sceneWithParam:(int)nvl;,但这是不可能的。

1 个答案:

答案 0 :(得分:1)

是的,在静态方法中不可能使用动态参数。如果要使用参数创建对象,则必须创建 init 方法,接收所需的参数。 E.g:

-(id) initWithYourParam:(id)param
{
    if ( (self=[self init]) ) {
        self.propertyParam = param;
    }
    return self;
}