Ios 如何在游戏场景之外创建更多场景
我试图创建一个新的SKScene“mainsecene”子类,就像苹果创建的GameSecene一样 我想在我的“游戏场景”之外创建更多的场景,但它不起作用 下面是我的子类代码 主场景:Ios 如何在游戏场景之外创建更多场景,ios,swift,sprite-kit,skscene,Ios,Swift,Sprite Kit,Skscene,我试图创建一个新的SKScene“mainsecene”子类,就像苹果创建的GameSecene一样 我想在我的“游戏场景”之外创建更多的场景,但它不起作用 下面是我的子类代码 主场景: import SpriteKit #if !os(iOS) import AppKit #endif class MainScene : SKScene { override func didMoveToView(view: SKView) { backgroundColor =
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)
}
}
MainSceneView控制器:
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)
}
}
错误:“无法将'UIView'(0x1097f2b20)类型的值强制转换为'SKView'(0x108a4cad0)。”创建新场景时,您需要实际创建一个新场景文件,而不仅仅是代码隐藏文件 要创建新的场景文件,请转到文件,新建,文件,然后在您的部分中转到iOS,SpriteKit场景。这将创建所需的sks文件 编辑:
如果出现错误
无法将“UIView”类型的值强制转换为“SKView”
,这是因为在故事板中,ViewController主视图没有自定义的SKView类。在情节提要文件中,打开视图控制器,单击该控制器的视图,确保右侧面板可见,然后选择identity inspector选项卡(它可能是从左侧开始的第三个,看起来像一个标志或带有窗口的信封)。在“自定义类”下,查找“类”文本框,并将其放入SKView中创建新场景时,您需要实际创建一个新场景文件,而不仅仅是代码隐藏文件
要创建新的场景文件,请转到文件,新建,文件,然后在您的部分中转到iOS,SpriteKit场景。这将创建所需的sks文件
编辑:
如果出现错误
无法将“UIView”类型的值强制转换为“SKView”
,这是因为在故事板中,ViewController主视图没有自定义的SKView类。在情节提要文件中,打开视图控制器,单击该控制器的视图,确保右侧面板可见,然后选择identity inspector选项卡(它可能是从左侧开始的第三个,看起来像一个标志或带有窗口的信封)。在“自定义类”下,查找“类”文本框,并将其放入SKView中,以创建更多的SKScene
以及gamesene
- 转到
新文件
- 选择触摸类
- 单击
Next
- 子类:手动键入
SkScene
- 创造
- 导入
SpriteKit
游戏场景
- 转到
新文件
- 选择触摸类
- 单击
Next
- 子类:手动键入
SkScene
- 创造
- 导入
SpriteKit
MainScene(文件名为:“MainScene”)
正在寻找MainScene.sks,不是,斯威夫特。mainsecene.sks是实际的场景文件,它保存场景的所有初步数据。mainsecene.swift只是告诉它应该如何操作的幕后代码,也许是您在UIViewController中将类命名为“MainView”而不是您声明的“mainsecene”?很多人似乎总是忽略这一部分,所以我要问,您是否制作了mainsecene.sks文件?这就是您的问题。mainsecene(文件名为:“mainsecene”)
正在查找mainsecene.sks,而不是mainsecene.swift。mainsecene.sks是实际的场景文件,它保存场景的所有初步数据。mainsecene.swift只是幕后的代码,告诉它应该如何在Interface Builder文件中操作输出控制台:Unknown class _TtC6SKView18MainViewController。没问题,你在看吗?不是ViewControllerServiceController不是View您需要在视图上执行此操作,这就是SKView,UIView的子类我需要将UIViewController更改为UIView?输出控制台:接口生成器文件中的未知类_TtC6SKView18MainViewController。没问题,你在看吗?不是ViewControllerServiceController不是View您需要在视图上执行此操作,这就是SKView,UIView的子类我需要将UIViewController更改为UIView?在您创建的文件中导入SpriteKit在您创建的文件中导入SpriteKit