我将如何解决这个问题?我可以告诉你一些我的代码。但基本上我猜我必须保存字符串或其他东西。任何提示将非常感激。我想让它出现在另一个场景中。
.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]];
}
答案 0 :(得分:1)
我认为最简单的方法是将其置于用户默认值中。 E.g。
// to write
[[NSUserDefaults standardUserDefaults] setInteger:yourScore forKey:@"score"];
[[NSUserDefaults standardUserDefaults] synchronize];
// to read
int score = [[NSUserDefaults standardUserDefaults] integerForKey:@"score"];
由于synchronize
步骤,因此需要付出轻微的代价,所以不要只使用普通的内部存储,而是执行此操作。
The user defaults用于存储用户在应用中选择的设置。有一个稍微奇怪的名称,因为在桌面上的假设回来时,他们将用于存储将与新文档关联的默认属性。您可以将各种类型的数据存储到用户默认值,如果您愿意,还可以包括NSString
。
standardUserDefaults
是操作系统本身提供的那些。它们是每个应用程序,因此您无需担心命名冲突。