0

我试图更好地解释这种情况。

变量是:

int punteggio;

CCLabelTTF *labelPunteggio;

然后在初始化方法中,我在屏幕上打印我的分数:

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

谢谢!

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 回答