2013-03-08 4 views
0

Я стараюсь объяснить ситуацию лучше.Сохранить счёт cocos2d

Переменные:

int punteggio; 

CCLabelTTF *labelPunteggio; 

Тогда в инициализации Metod я распечатать мой счет на экране:

- (id)init { 
    if ((self = [super init])) { 

    // PUNTEGGIO 
    labelPunteggio = [CCLabelTTF labelWithString:@"0000" fontName:@"Marker Felt" fontSize:13]; 

    [self addChild:labelPunteggio]; 
    .... 
    } 
} 

И это функция, чтобы добавить счет на Punteggio: например, каждый время я убиваю монстра, добавляю 10 очков.

-(void)aggiungiPunti 
{ 
    punteggio = punteggio +0001; 

    [labelPunteggio setString:[NSString stringWithFormat:@"%d", punteggio]]; 
} 

Но теперь я не знаю, как сохранить счет, когда игрок совершит игру. я хочу сохранить этот счет, а затем напечатать высокий балл на экране, я думаю о

-(void) setScore:(int)score 
{ 
    punteggio = highScore; 

    if (punteggio>highScore) 
    { 
     highScore = punteggio; 
    } 
} 

Спасибо!

ответ

2

Использование NSUserDefaults

// Snippet used to save your highscore in the prefs. 
int highScore = yourGameScore; 
[[NSUserDefaults standardUserDefaults] setObject:[NSNumber numberWithInt:highScore] forKey:@"HighScore"]; 
[[NSUserDefaults standardUserDefaults] synchronize]; 

// В Game Over экран

// Get your highscore from the prefs. 
highScore = [[[NSUserDefaults standardUserDefaults] objectForKey:@"HighScore"] intValue ]; 
+0

xcode дать мне ошибки ... я не знаю почему .. –

+0

какая ошибка? name – Guru

+0

Ошибка: Ожидается "]" в строке [[NSUserDefaults standardUserDefaults] synchronize]; –

0

взгляд на эту link и вы можете использовать SettingManager класс, чтобы сделать эту работу за вас. Я использовал класс settingManager для хранения рекордов. Надеюсь, это поможет

Смежные вопросы