在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场景?
答案 0 :(得分:0)
如错误所示,您无法从类方法访问实例变量。在类方法中,方法本身没有关于类的哪个特定实例应该设置变量的信息(它根本没有意义)。
您需要做的是引用特定的场景实例(例如,通过将其分配给属性),然后调用[game1 setPoint:point];
P上。 s。:您只需要@synthesize point
中的一个和- setPoint:
的手动实现(假设您的属性不是只读的)。