我尝试设置我的高分,如果超过高分,它将显示在高分中,我已经知道了一些东西,但是现在一旦超过高分,它将获得相同数量的高分上升一点。例如,每次击杀获得一分,如果高分是 7 分,则需要再击杀 7 次才能在高分板上达到 8 分。一旦您获得高分,分数就会再次重置,并在高分中获得相同数量的分数以上升一次。希望这是有道理的。
这是代码
.h 文件
int _score;
int _oldScore;
CCLabelTTF *_scoreLabel;
@property (nonatomic, assign) CCLabelTTF *scoreLabel;
.m 文件
_score = [[NSUserDefaults standardUserDefaults] integerForKey:@"score"];
_oldScore = -1;
self.scoreLabel = [CCLabelTTF labelWithString:@"" dimensions:CGSizeMake(100, 50) alignment:UITextAlignmentRight fontName:@"Marker Felt" fontSize:32];
_scoreLabel.position = ccp(winSize.width - _scoreLabel.contentSize.width, _scoreLabel.contentSize.height);
_scoreLabel.color = ccc3(255,0,0);
[self addChild:_scoreLabel z:1];
if (_score > _oldScore) {
_oldScore = _score;
[_scoreLabel setString:[NSString stringWithFormat:@"score%d", _score]];
[[NSUserDefaults standardUserDefaults] setInteger:_oldScore forKey:@"score"];
[[NSUserDefaults standardUserDefaults] synchronize];
_score = 0;
}
}
现在我知道 _score = 0; 休息了董事会,但一旦获得高分,它就会继续重置。另一个例子是,如果你在高分板上有 12 分,则需要 24 分的杀戮才能在高分上达到 13 分。
如果我取出 _score=0; 还有一件事 分数将继续堆积,但不会重新开始。