我想制作像'乒乓球'这样的小游戏.一切都很好,但是现在,当我想添加一个分数时,游戏会冻结.我将此代码用于我的另一个项目,一切都很好.
以下是该score部分的代码:
-(void)scoreCount{
score ++;
if(scoreLabel == nil){
scoreLabel = [SKLabelNode labelNodeWithFontNamed:@"ROTORcapExtendedBold"];
scoreLabel.fontSize = 40;
scoreLabel.position = CGPointMake(self.frame.size.width/2,self.frame.size.height/3);
scoreLabel.zPosition = 0;
}
[self addChild:scoreLabel];
scoreLabel.text = [NSString stringWithFormat:@"%ld",(long)score];
}
Run Code Online (Sandbox Code Playgroud)
在控制台我收到此消息:
终止应用程序由于未捕获的异常 'NSInvalidArgumentException',理由是: 'Attemped添加已经具有父SKNode:名称:'(null)的文字: '1' 的fontName: 'ROTORcapExtendedBold' 位置:{189.33333,106.66666}"
删除该行后scoreLabel == nil,应用程序不会冻结,但屏幕上的分数会复制旧分数并使分数无法读取.
我该如何解决?