如何在Xcode中的不同场景中编辑标签多数民众赞成

时间:2019-01-16 16:38:48

标签: ios swift sprite-kit

  • 是的,已经有一个类似的问题,但没有给我答案

背景故事-随时跳过

我一直在创建一个游戏,在该游戏中,您必须通过向子弹射击来阻止“怪兽”越过角色,所有这些(最终)都可以正常运行。

问题

但是,我尝试创建一个硬币计数器,当场景“翻转”回到开始屏幕(它称为playScene,实际游戏称为GameScene)时将显示该计数器。我想知道如何创建一个在与计分发生位置不同的场景中进行编辑的计数器?

1 个答案:

答案 0 :(得分:0)

您有2个场景:GameScene和ScoreScene。

ScoreScene是玩家死亡后重定向的场景。就像一个迷失的场景,您可以在其中显示他的数据。我们首先创建一个名为score的全局变量,并将其默认设置为0。

class ScoreScene: SKScene {

    let score : Int = 0

    override func didMove(to view: SKView)
    {
        print("Score = \(score)")  // Score = 0
    }
}

用户进入GameScene,杀死怪物,然后他以87分死亡。在提交ScoreScene之前,您通过了得分。

class GameScene: SKScene {

    func change_scene()
    {
        let transition = SKTransition.flipVertical(withDuration: 0.75)
        let next_scene = ScoreScene() // at this point, score = 0
        next_scene.score = 87         // at this point, score = 87
        self.view?.presentScene(next_scene!, transition: transition)
    }
}

通过在我们的案例score中创建全局值并在您presentScene之前为其提供值,可以将值从一个场景传递到另一个场景。