2012-06-27 50 views
0

就像遊戲直升機或類似於Left 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

你需要比較,如果你的分數比舊得分更多,只是保存即可。

例如,

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

但是,如果你與這樣的掙扎,我建議你去,除非你停下來,現在學習編程的基礎知識要在一大堆的問題然後再進一步發展。

+0

已經嘗試過,但比分一直往上走還是 –

+0

將是一件好事,如果你表現出你試過那麼,什麼 - 這樣我們就不會浪費我們的時間試圖告訴你的東西,你已經盡力幫你。您顯然不復位_score和也沒有將_oldscore是以前_score –

相關問題