【发布时间】:2016-04-26 21:47:56
【问题描述】:
目标:
加载 Instructions1.swift 文件中的场景作为游戏的第一个场景。
我做了什么:
所以我在我的项目中创建了 2 个新文件:Instructions1.sks 和 Instructions1.swift
然后在 GameViewController.swift 中,我改变了 viewDidLoad 如下:
override func viewDidLoad()
{
super.viewDidLoad()
if let scene = GameScene.unarchiveFromFile("Instructions1") as? GameScene
{
// 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
/* Set the scale mode to scale to fit the window */
scene.scaleMode = .AspectFill
skView.presentScene(scene)
}
}
但是,当我加载游戏时,它会直接进入 GameScene.swift。我还在 Instructions1.sks 的自定义类下编写了“Instructions1”。不幸的是,仍然没有运气!
不胜感激!
谢谢!
【问题讨论】:
-
你试过
if let scene = Instructions1(fileNamed:"Instructions1")吗?此外,如果Instructions1是一个场景,您可能希望具有描述性并将其命名为Instructions1Scene。 1 也是可疑的,但你可能有一个原因。 -
不幸的是,这给出了编译错误:“使用未解析的标识符'InstructionsOne”并在 if let scene = InstructionsOne.unarchiveFromFile 中突出显示 InstructionsOne ......谢谢!
-
Ben 说的应该可行,将所有 GameScene 替换为 Instruction1
-
@BenKane ,我已经进行了搜索和替换,这是我的新代码:pastebin.com/aMpZdDuG 不幸的是它仍然无法正常工作,我收到此编译错误:s32.postimg.org/kdfd6xbsl/… 请提供其他建议吗?谢谢!!
-
不过,你还没有尝试过我的建议。我建议的是更新的方法。您正在使用旧方法。
if let scene = InstructionsOne.unarchiveFromFile不接近if let scene = Instructions1(fileNamed:"Instructions1")。请再次尝试我的建议
标签: ios iphone swift sprite-kit