我在GameScene中创建了一个得分变量。现在我想在另一个场景中看到结果,例如GameOverScene。 我怎么能这样做?
答案 0 :(得分:5)
您总是需要尝试在堆栈溢出时发布一些代码。
有很多方法可以做你想做的事。
1)您可以使用NSUserDefaults保存乐谱并在另一个场景中访问已保存的属性,然后将其分配给新的乐谱变量。
2)你可以将得分属性设为静态,所以在gameScene中你会说
static var score = 0
并且比你项目中的任何地方都可以说
GameScene.score = 5
请记住在每场比赛后将得分重置为0,因为静态属性只有1个实例,即它们在应用的生命周期内存在。
3)另一种方法是做一个单身课
class GameData {
static let shared = GameData()
var score = 0
private init() { }
}
在你的SKscenes中你要么说
let gameData = GameData.shared
gameData.score = 5
或
GameData.shared.score = 5