gpt4 book ai didi

swift - 在 Swift 中更改初始游戏场景

转载 作者:行者123 更新时间:2023-11-28 15:35:36 25 4
gpt4 key购买 nike

我想将呈现的初始场景更改为默认 GameScene 类以外的另一个类。通过阅读其他问题,我明白我必须从 GameViewController 更改这部分:

       if let scene = SKScene(fileNamed: "GameScene") {
print(scene)
// Set the scale mode to scale to fit the window
scene.scaleMode = .aspectFill

// Present the scene
view.presentScene(scene)
}

所以在 GameScene.swift 文件中我创建了一个新类:

class MainMenu : SKScene {
override func didMove(to view: SKView) {
print("At least it ran")
self.scene?.view?.presentScene(GameScene())
}
}

但是,当我将场景更改为:

if let scene = SKScene(fileNamed: "MainMenu")

当我运行该项目时,它会卡住,但是当我使用字符串“GameScene”运行它时,它会完美运行。我在加载 MainMenu 时做错了什么?

最佳答案

在我看来,你应该将你的场景分成它们自己的文件......

是否有对应的 MenuScene SKS 文件?如果您尝试使用 fileNamed:

加载它,则需要创建一个
  • 或-

使用此代码加载仅在代码中而不是在场景编辑器中创建的 SKScene 文件

if let skView = self.view as? SKView {

if skView.scene == nil {

let scene = MenuScene(size: skView.bounds.size)
scene.scaleMode = .aspectFill
skView.presentScene(scene)
}
}

然后在您的 MenuScene 文件中,您将需要一个初始化函数

init(size: CGSize) {

super.init(size: size)

name = "menuScene"
}

关于swift - 在 Swift 中更改初始游戏场景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44329675/

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