【问题标题】:Swift pass variables between scenes?Swift 在场景之间传递变量?
【发布时间】:2014-08-29 23:26:52
【问题描述】:

我有两个场景:我的 GameScene 玩家试图击败他的分数和 GameOverScene,当他输了时我呈现给玩家:

func changeScene() {
    let scene = GameOverScene()
    view.presentScene(scene)
}

基本上,我想将玩家分数传递给我的 GameOverScene,以便将其展示给玩家。分数存储在我的 GameScene 中的属性:“score: Int”中,但我不确定如何在场景之间传递它。我该怎么做?

【问题讨论】:

标签: ios swift sprite-kit skscene


【解决方案1】:

您可以使用以下函数设置新场景的属性:

override func prepareForSegue(segue: UIStoryboardSegue!, sender: AnyObject!) {
    if (segue.identifier == "Load View") {
        // pass data to next view
    }
}

这是一个详细的例子:

http://jamesleist.com/ios-swift-passing-data-between-viewcontrollers/

【讨论】:

  • 嗨 Fer,我创建了不同的场景,但我的应用程序中只有一个 viewController:“GameViewController”和三个场景“StartScreen”以及问题中提到的两个。从我正在阅读的内容来看,我知道这可以在 viewControllers 之间传递数据,这是否意味着我需要向游戏添加更多 viewControllers?
  • @lisovaccaro 嘿伙计!您是否尝试过使用新场景提供的字典?尝试:myNewScene.userData setObject 就像任何 NSMutableDictionary 一样
  • 我刚刚实现了它。我会用我的代码编辑你的答案。你的回答让我想知道我应该有多少个视图控制器,如果你知道,请检查我刚刚问的这个问题:stackoverflow.com/questions/25577743/…
猜你喜欢
  • 1970-01-01
  • 2023-03-03
  • 2020-02-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多