2016-04-08 4 views
0

Был инструмент с рекордом всю ночь. Я могу получить его для обновления, однако он не спасает от игры к игре и не закрывает приложение. Если вы набрали 8 очков, то ваша оценка/высокий балл - 8. Если вы сделаете 3 очка в следующей игре, ваш счет будет 3, а высокий балл - 3, когда ему все равно будет 8. Что мне не хватает?Обновлен и сохранен HighScore

//Score Display 

    NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults]; 
    int _score = [prefs integerForKey:@"score"]; 
    SKLabelNode *scoreLabel = [SKLabelNode labelNodeWithFontNamed:@"ChalkDuster"]; 
    //Other label node configuration here 
    scoreLabel.position = CGPointMake(self.size.width/2,325); 
    scoreLabel.fontColor = [SKColor blackColor]; 
    scoreLabel.text = [NSString stringWithFormat:@"Score: %d",_score]; 
    [self addChild:scoreLabel]; 

    //High Score 
    NSUserDefaults *prefs2 = [NSUserDefaults standardUserDefaults]; 
    int _highscore = [prefs2 integerForKey:@"highscore"]; 
    SKLabelNode *highScoreLabel = [SKLabelNode labelNodeWithFontNamed:@"ChalkDuster"]; 
    highScoreLabel.position = CGPointMake(self.size.width/2,275); 
    highScoreLabel.fontColor = [SKColor blackColor]; 
    highScoreLabel.text = [NSString stringWithFormat:@"High Score: %d",_highscore]; 
    [self addChild:highScoreLabel]; 

    if(_score > _highscore){ 
     _highscore = _score; 
       int _highscore = [prefs2 integerForKey:@"highscore"]; 
       highScoreLabel.text = [NSString stringWithFormat:@"High Score: %d",_highscore]; 
     NSUserDefaults *prefs2 = [NSUserDefaults standardUserDefaults]; 



    } 

ответ

0

Вы проверки _SCORE> _highscore , но вы никогда не устанавливая рекорд обратно в prefs2. Вы читаете его обратно, но не ставя его.

нужно что-то вроде [prefs2 setInteger:_highscore forKey:@"hightscore"]

+0

Если бы реорганизовать код и добавил, что вы предложили. Работал как шарм. Спасибо. – BARIIIIIIICODE

+0

В качестве примечания, вам не нужно иметь prefs и prefs2. Они на самом деле указывают на одно и то же место. Просто получайте стандартноеUserDefaults один раз и повторно используйте prefs снова и снова. – BLE

+0

Полезно знать. благодаря – BARIIIIIIICODE