我有 2 个场景 GameScene 和 GameLostScene ,在 GameLostScene 我创建了 highScore 但我不知道如何从 游戏场景 。然后我尝试用 NSLog 打印分数我可以看到哪个值不正确,我应该怎么做才能使它正确?
GameScene 方法
-(void) gameLost {
SKScene *nextScene = [[GameLostScene alloc] initWithSize:self.size ];
SKTransition *doors = [ SKTransition fadeWithDuration:1.0];
NSLog(@"%ld", self.currentScore);
[self.view presentScene:nextScene transition:doors];
}
游戏迷失场景
GameScene *gameScene;
long score = gameScene.currentScore;
NSLog(@"%ld", score);
Best Answer-推荐答案 strong>
如果您没有发现您的分数数据重要或敏感,请使用 NSUserDefaults
第一个场景:
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setInteger:yourScore forKey"HighScore"];
第二幕:
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
yourScore = [defaults integerForKey"HighScore"]
这也将存储您的分数。
或者你可以只通过场景传递数据。
在第一场景
在您的 .m 文件中声明:
static NSInteger staticScore;
创建类方法并返回这个值:
+ (NSInteger) passScore {
return staticScore;
}
在另一个场景中#import 这个类并得到这样的值:
[FirstScene passScore];
关于ios - Sprite-kit 如何将整数值传递给下一个场景,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/26688547/
|