【发布时间】:2021-10-17 09:31:54
【问题描述】:
我编写了这几行简单的代码来使用 SpriteKit 在 Swiftui 中的两个场景之间进行切换,我试图了解是否有一种(更好的)不同方式可以使用按钮从一个场景切换到另一个场景。
struct ContentView: View {
@StateObject var firstscene = FirstScene()
@StateObject var secondscene = SecondScene()
@State var changeScene = false
var body: some View {
ZStack{
if changeScene {
SpriteView(scene: firstscene)
} else {
SpriteView(scene: secondscene)
}
Button {
changeScene.toggle()
} label: {
Text("Change")
}
}
}
}
//使用SKscene的子类创建的2个SKScene
class FirstScene: SKScene, ObservableObject {
let firstScene = SKScene(fileNamed: "FirstScene")
override func didMove(to view: SKView) {
scene?.view?.presentScene(firstScene)
}
}
class SecondScene: SKScene, ObservableObject {
let secondScene = SKScene(fileNamed: "SecondScene")
override func didMove(to view: SKView) {
scene?.view?.presentScene(secondScene)
}
}
现在我的疑问是,我正在使用 var changeScene 更改 contentView 中的 SpriteView,是否可以使用其他方法以其他方式完成相同的事情?
欢迎任何建议,我正在尝试理解这个框架。
谢谢
【问题讨论】:
标签: swift swiftui sprite-kit scene