【问题标题】:Swift, SpriteKit, pass variable to other sceneSwift,SpriteKit,将变量传递给其他场景
【发布时间】:2016-02-14 11:24:49
【问题描述】:

我在我的 GameScene 中创建了一个分数变量。现在我想在另一个场景中查看结果,例如 GameOverScene。 我该怎么做?

【问题讨论】:

标签: swift sprite-kit swift2


【解决方案1】:

您总是需要尝试在堆栈溢出时发布一些代码。

有很多方法可以做你想做的事。

1) 您可以使用 NSUserDefaults 来保存分数并在另一个场景中访问已保存的属性,然后将其分配给新的分数变量。

2) 你可以将 score 属性设为静态,所以在 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

【讨论】:

    猜你喜欢
    • 2015-01-25
    • 1970-01-01
    • 1970-01-01
    • 2013-06-03
    • 1970-01-01
    • 2021-08-10
    • 2014-03-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多