我对SpriteKit和目标c都很新,所以我正在玩,我已经收到一条错误信息,我无法解决。我得到一个意外的标识符消息,我不确定为什么。我这样做是因为我想了解函数在objective-c中的工作方式。我想知道是否有人可以帮我解决这个问题。
代码就是这个。
@implementation HMGameScene
-(id)initWithSize:(CGSize)size {
if (self = [super initWithSize:size]) {
SKSpriteNode *lvl1_bg_image = [HMGameScene set_lvl1_bg];
[self addChild:lvl1_bg_image];
}
return self;
}
+(SKSpriteNode*) set_lvl1_bg {
SKSpriteNode *lvl1_bg_image = [SKSpriteNode spriteNodeWithImageNamed:@"lvl1bg"];
return [SKSpriteNode *lvl1_bg_image]; // The error is here
}
@end
由于
答案 0 :(得分:2)
您所需要的只是return lvl1_bg_image;
。方括号语法是[receiver message]
,其中接收者是某个对象(或类),并且消息解析为您想要调用的某个方法。由于您没有尝试调用任何SKSpriteNode
方法而*lvl1_bg_image
是指针而不是消息,因此编译器不喜欢语法。