1

我将如何处理这件事?我可以给你看我的一些代码。但基本上我猜我必须保存字符串或其他东西。任何提示将不胜感激。我希望它出现在另一个场景中。

.h 文件

          int _score;
          int _oldScore;
        CCLabelTTF *_scoreLabel;
         @property (nonatomic, assign) CCLabelTTF *scoreLabel;

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



}
4

1 回答 1

1

我认为最简单的事情是将其放入用户默认值中。例如

// to write
[[NSUserDefaults standardUserDefaults] setInteger:yourScore forKey:@"score"];
[[NSUserDefaults standardUserDefaults] synchronize];

// to read
int score = [[NSUserDefaults standardUserDefaults] integerForKey:@"score"];

由于这个synchronize步骤,这样做会产生一点成本,所以不要只这样做,而不是使用普通的内部存储,也要这样做。

用户默认值旨在存储用户在应用程序中选择的设置。它们的名称有点奇怪,因为在桌面上的假设是它们将用于存储与新文档关联的默认属性。您可以将各种类型的数据存储到用户默认值,NSString如果您愿意,包括 s。

这些standardUserDefaults是操作系统固有地提供的那些。它们是每个应用程序的,因此您不必担心命名冲突。

于 2012-06-26T22:44:27.843 回答