如何在 GameScene 之外创建更多的 SKScene

How to create more SKScene in addition to GameScene

我试图创建一个新的 SKScene 子类 "MainScene" 就像那个苹果创建 GameScene 一样。

除了我的 "GameScene" 我还想创建更多场景,但它不起作用。

下面是我的子类代码。

主场景:

import SpriteKit
#if !os(iOS)
import AppKit
#endif

class MainScene : SKScene {

    override func didMoveToView(view: SKView) {

        backgroundColor = UIColor.blueColor()

       }

}

主场景视图控制器:

import UIKit
import SpriteKit

class MainViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()

        if let scene = MainScene(fileNamed:"MainScene") {
            // Configure the view.
            let skView = self.view as! SKView
            //skView.showsFPS = true
            //skView.showsNodeCount = true

            /* Sprite Kit applies additional optimizations to improve rendering performance */
            skView.ignoresSiblingOrder = true
            skView.showsPhysics = true

            /* Set the scale mode to scale to fit the window */
            scene.scaleMode = .AspectFill

            skView.presentScene(scene)
        }
    }

错误: "Could not cast value of type 'UIView' (0x1097f2b20) to 'SKView' (0x108a4cad0)."

创建新场景时,需要实际创建一个新的场景文件,而不仅仅是代码隐藏文件。

要创建新的场景文件,请转到文件、新建、文件,然后在您的部分中转到 iOS、SpriteKit 场景。这将创建您需要的 sks 文件。

编辑:

如果您收到错误 Could not cast value of type 'UIView' to 'SKView',这是因为在您的故事板中,您的 ViewControllers 主视图没有自定义 class SKView。在您的故事板文件中,打开您的视图控制器,单击该控制器的视图,确保右侧面板可见,然后 select 身份检查器选项卡(它可能是左起第三个,看起来像一个旗帜或一个带有 window 的信封)。在 Custom Class 下,找到 class 文本框,然后输入 SKView

除了 GameScene

之外,还要创建更多 SKScene
  • 转到New File
  • Select Coca Touch Class
  • 点击Next
  • 子类:手动输入 SkScene
  • 创建
  • 进口SpriteKit