iOS将int对象传递给Coco2D CCLayer

时间:2012-08-16 21:02:23

标签: ios cocos2d-iphone

在viewcontroller文件中,我调用CCLayer

 [director_ runWithScene:[game1 scene]];

game1是一个CCLayer,位于

之内
+ (CCScene *)scene
{
    CCScene *scene = [CCScene node];
    game1 *layer = [game node];
    [scene addChild:layer];

    return scene;
}



- (id)init
{
    if ((self = [super init]))
    {
    }
    ..
}

在原始viewcontroller中,我尝试将一个int对象传递给game1场景 在game1中编写一个新的类函数

 @synthesize point;

+ (void)setPoint:(int)point_
{
    point = point_;
}

但我得到一个错误,说类函数setPoint无法设置实例var。

那么如何将viewcontroller中的int值传递给game1场景?

1 个答案:

答案 0 :(得分:0)

如错误所示,您无法从类方法访问实例变量。在类方法中,方法本身没有关于类的哪个特定实例应该设置变量的信息(它根本没有意义)。

您需要做的是引用特定的场景实例(例如,通过将其分配给属性),然后调用[game1 setPoint:point];

P上。 s。:您只需要@synthesize point中的一个和- setPoint:的手动实现(假设您的属性不是只读的)。