如何在 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
我试图创建一个新的 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)
}
}
创建新场景时,需要实际创建一个新的场景文件,而不仅仅是代码隐藏文件。
要创建新的场景文件,请转到文件、新建、文件,然后在您的部分中转到 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