就像游戏直升机或类似左4死亡生存模式一样,我希望得分保持不变,只有在超过分数时才会改变。这是我到目前为止的代码。 ./m文件
_score = 0;
_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]];
}
和.h文件
int _score;
int _oldScore;
CCLabelTTF *_scoreLabel;
我试图把
_score = [[NSUserDefaults standardUserDefaults] integerForKey:@"score"];
[[NSUserDefaults standardUserDefaults] setInteger:_oldScore forKey:@"score"];
[[NSUserDefaults standardUserDefaults] synchronize];
但是当我这样做时,它只保存数据并继续上升而不是重新开始,只有在超过分数时才会改变。
答案 0 :(得分:0)
您需要比较您的分数是否高于旧分数,然后再将其保存。
例如,
if (_score > _oldscore) {
// Save out new score as it is more than the old score
// Then reset ready for next time
_oldscore = _score;
_score = 0;
}
但是,如果你正在努力解决这个问题,我建议你会遇到很多问题,除非你在进一步发展之前停下来学习编程的基础知识。