gpt4 book ai didi

swift - GameScene.sks 文件未被使用

转载 作者:行者123 更新时间:2023-11-28 08:20:10 25 4
gpt4 key购买 nike

我正在学习 Swift,并从 SpriteKit 开始。我正在尝试创建一个简单的游戏,并且有一个关于 SpriteKit 如何工作的问题。我创建了一个带有开始按钮的新场景 (MenuScene),我编辑了 GameViewController.swift 以首先运行 MenuScene。在 MenuScene 上,我将转到链接到 GameScene.sksGameScene。当我运行应用程序时,它“忽略”GameScene.sks 并且不显示任何内容。当我编辑 GameViewController.swift 以首先运行 GameScene 时,我可以看到我添加到 GameScene 的所有内容。为什么会这样?希望我足够清楚,提前致谢!

最佳答案

可能不是您正在寻找的确切答案,但它会起作用(除非我误解了您的问题)。我通常倾向于发现从 .swift 文件而不是 .sks 文件(我根本不使用它)加载场景更好。一个简单的方法是:

func loadGameScene() {
let scene = GameScene(size: view.bounds.size)
scene.scaleMode = .resizeFill
let transitionType = SKTransition.flipHorizontal(withDuration: 1.0)
let skView1 = view as! SKView
skView1.ignoresSiblingOrder = true
skView1.presentScene(scene,transition: transitionType)
}

您可以将此函数放在您的 GameViewController 中,并在您单击按钮时从 GameViewController 调用它。如果您真的想使用您的 .sks 文件,您只需编辑此函数以改用您的 .sks。

如果您不知道如何从另一个 SKScene 类 (MenuScene) 调用该函数,您可以这样做:

在您的场景中,创建一个变量 viewController,如下所示:

class MenuScene: SKScene{

var viewController: GameViewController!

这指向您的 GameViewController。现在在您的 GameViewController 中,在呈现 MenuScene 后立即添加:

scene.viewController = self

现在在您的 MenuScene 中您可以调用 viewController.loadGameScene() 来切换场景

关于swift - GameScene.sks 文件未被使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41554229/

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