0

私は状況をよりよく説明しようとします。

変数は次のとおりです。

int punteggio;

CCLabelTTF *labelPunteggio;

次に、init metodで、スコアを画面に印刷します。

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

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

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

そして、これはプンテッジョにスコアを追加する機能です。たとえば、モンスターを殺すたびに10ポイントを追加します。

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

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

でも今は、プレイヤーがゲームオーバーしたときにスコアを保存する方法がわかりません。このスコアを保存して、ハイスコアを画面に印刷したいのですが、

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

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

ありがとうございました!

4

2 に答える 2

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

//ゲームオーバー画面

// Get your highscore from the prefs.
highScore = [[[NSUserDefaults standardUserDefaults] objectForKey:@"HighScore"] intValue ];
于 2013-03-08T16:48:57.193 に答える
0

このリンクを見て、 SettingManagerクラスを使用してこの作業を行うことができます。ハイスコ​​アを保存するためにsettingManagerクラスを使用しました。これが役立つことを願っています

于 2013-03-08T21:05:32.257 に答える