解决了...我觉得自己像个白痴:S
问题是我在触摸敌人时淡出敌人,然后在 0.5 秒后更改标签。我把它排除在外,一切正常。
更改了 setTextScore: 方法,因为它是多余的(感谢 @LearnCocos2D)
...
SKAction* fade=[SKAction fadeOutWithDuration:0.5];
[node runAction:fade completion:^{
[node removeFromParent];
self.enemyNumber--;
self.score++;
SKLabelNode* scoreLabel=(SKLabelNode*)[self childNodeWithName:@"scoreLabel"];
scoreLabel.text=[NSString stringWithFormat:@"Score: %d",self.score];
}];
新形式(块外):
...
self.score++;
SKLabelNode* scoreLabel=(SKLabelNode*)[self childNodeWithName:@"scoreLabel"];
scoreLabel.text=[NSString stringWithFormat:@"Score: %d",self.score];
SKAction* fade=[SKAction fadeOutWithDuration:0.5];
[node runAction:fade completion:^{
[node removeFromParent];
}];
感谢您的帮助,很抱歉提出这个愚蠢的问题......