作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有 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);
最佳答案
如果您没有发现您的分数数据重要或敏感,请使用 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/
我是一名优秀的程序员,十分优秀!