gpt4 book ai didi

ios - 在 Swift 中从一个 SKScene 调用方法到另一个 SKScene 的最干净的方法是什么?

转载 作者:搜寻专家 更新时间:2023-11-01 05:53:25 26 4
gpt4 key购买 nike

所以我在游戏中加入了 3 个不同的场景:MenuScene、GameScene 和 GameOverScene。

我想知道如何从 GameOverScene 中获取位于 GameScene 中的 score 变量,以便在玩家输了。

所以在 GameScene 中,我创建了这个简单的 getter:

func getScore() -> Int {
return self.score
}

但是,如果我尝试从不同的场景执行 GameScene.getScore(),则会出现错误。

尝试在 func 之前使用“class”

class func getScore() -> Int {
return self.score
}

但这也给了我一个来自 GameScene 的错误:

"Instance member 'score' cannot be used on type GameScene"

那么最好的方法是什么?我不想为此创建一个全局变量,那样会很丑陋。

最佳答案

这其实很简单。当你继续到新场景时,你也可以传入一个变量......这是一个例子。

GameOverScene.swift

var score:Int = 0

GameScene.swift

var score:Int = THE USERS SCORE    

func segue(){
let gameScene = GameOverScene(size: self.size)
gameScene.score = score
let transition = SKTransition.doorsCloseHorizontalWithDuration(0.5)
gameScene.scaleMode = SKSceneScaleMode.AspectFill
self.scene!.view?.presentScene(gameScene, transition: transition)
}

关于ios - 在 Swift 中从一个 SKScene 调用方法到另一个 SKScene 的最干净的方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38668801/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com