如何设置高分并且仅在超过时才进行更改

时间:2012-06-27 09:01:09

标签: iphone xcode4 cocos2d-iphone

就像游戏直升机或类似左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];        

但是当我这样做时,它只保存数据并继续上升而不是重新开始,只有在超过分数时才会改变。

1 个答案:

答案 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;
}

但是,如果你正在努力解决这个问题,我建议你会遇到很多问题,除非你在进一步发展之前停下来学习编程的基础知识。