【问题标题】:SpriteKit Transition or move between two Scenes, creating with GameScene?SpriteKit 在两个场景之间转换或移动,使用 GameScene 创建?
【发布时间】:2020-12-07 02:23:37
【问题描述】:

我有一个 SpriteKit 应用程序。我想简单地从一个视图类切换到另一个视图类。在这种情况下,我只想在应用程序中从一个屏幕切换到另一个屏幕,以便您可以显示由按钮按下或代码中的某些其他逻辑触发的不同内容。

我在创建第二个 GameScene 时遇到了问题,因为我遇到了一些错误。有人可以提供一个从一个场景切换到另一个场景的例子。 这是我试图开始工作的一些代码:


class GameScene: SKScene {
    var player = SKSpriteNode()
    var ground2 = SKSpriteNode()
// The main scene that loads just fine and runs. However I want to transition to another scene, the desert scene. With logic from here to there.
}

class DesertScene : SKScene {
    // inserting my variables, my logic, CGPoints, you get it.
}
func goToScene(newScene: SceneType) {
    var sceneToLoad:SKScene?

    switch newScene {
    case SceneType.GameScene:
        sceneToLoad = GameScene(fileNamed: "GameScene.swift")
    case SceneType.TheWoods:
        sceneToLoad = TheWoods(fileNamed: "TheWoods")
    case SceneType.DesertScene:
        sceneToLoad = DesertScene(fileNamed:"DesertScene")
    }
}

我不确定如何在 SKS 文件之间进行转换,或者是否应该创建一个新的 swift 文件并让它访问 GameScene.swift

【问题讨论】:

    标签: ios swift sprite-kit scenekit


    【解决方案1】:

    如果您尝试使用相同的视图控制器启动新的 SKScene,则整个先前的 SKS 将被泄露。我以前遇到过这个问题。

    在你的情况下,你想开始一个新的 GameScene。我建议您创建一个新的 swift 文件并初始化该游戏场景,正如您在问题中所建议的那样。

    在这里查看我的post,它解释了为什么不应在同一个 VC 中初始化新的 SKScene。

    【讨论】:

      猜你喜欢
      • 2016-02-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-15
      • 1970-01-01
      • 1970-01-01
      • 2019-09-05
      • 1970-01-01
      相关资源
      最近更新 更多