OStack程序员社区-中国程序员成长平台

标题: ios - Sprite-kit 如何将整数值传递给下一个场景 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 12:30
标题: ios - Sprite-kit 如何将整数值传递给下一个场景

我有 2 个场景 GameSceneGameLostScene,在 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-推荐答案


如果您没有发现您的分数数据重要或敏感,请使用 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/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4