我沿着這Spritekit教程http://code.tutsplus.com/tutorials/ios-sdk-build-a-facts-game-interface-creation--mobile-20764SKLabelNode罰球嘗試添加無節點錯誤
下他們建議在viewDidLoad方法添加一個計時器的文本。即在本教程中給出的代碼如下所示:
_timerLevel = [SKLabelNode labelNodeWithFontNamed:@"Chalkduster"];
_timerLevel.text = @"30";
_timerLevel.fontSize = 70;
_timerLevel.position = CGPointMake(CGRectGetMidX(self.frame), CGRectGetMidY(self.frame)+350);
[self addChild:_timerLevel];
有一次,我跑行[個體經營的addChild:_timerLevel]錯誤「試圖尼羅河節點錯誤添加到父」被拋出。
而且_timerLevel聲明在接口
@property (nonatomic,weak) SKLabelNode* timerLevel;
的場景initalised像這樣:
-(id) initWithSize:(CGSize)size inLevel:(NSInteger)level withPlayerLives:(int)lives {
if (self = [super initWithSize:size]) {
self.backgroundColor = [SKColor colorWithRed:0.35 green:0.25 blue:0.5 alpha:1.0];
defaults = [NSUserDefaults standardUserDefaults];
playerLives = lives;
playerLevel = level;
maximumTime = 30;
}
return self;
}
告訴我的錯誤是,_timerLevel尚未初始化,因此是零?我如何正確初始化?非常感謝
添加您的_timerLevel內didMoveToView而不是viewDidLoad方法它。 – dragoneye 2014-12-11 05:10:36