我已经尝试了一段时间。我有一个名为PlayScene
的游戏主场景,其中有一个暂停按钮。当玩家点击该按钮时,我想要加载另一个场景,名为PauseScene。为了视觉上创建该场景,我使用Sprite kit级别编辑器。因此,我有两个文件PauseScene.swift
和PauseScene.sks
。但是,.sks内容(现在只是背景)没有解档。我真的不知道我可能犯了什么错误。
所以这是我的通过暂停按钮进行的过渡,位于PlayScene
中。
for touch: AnyObject in touches {
let location = touch.locationInNode(self)
if self.nodeAtPoint(location) == self.pause {
var scene = PauseScene(size: self.size)
scene.paused = true
let skView = self.view as SKView!
skView.ignoresSiblingOrder = true
scene.scaleMode = .AspectFill
scene.size = skView.bounds.size
skView.presentScene(scene)
}
}
以下是我在 PauseScene.swift
中的代码:
class PauseScene: SKScene {
override func didMoveToView(view: SKView) {
self.initPauseScene()
}
func initPauseScene() {
}
我尝试了这个,但它效果不佳。然而,那个教程是我能找到的最接近我的问题的教程。它没有崩溃也没有显示任何错误,但当我点击暂停按钮时,它会转换到该场景,但没有背景,只有标准的灰色场景。这个答案对我不起作用。第一个建议会出现错误,当我尝试第二个建议并点击暂停时,游戏会崩溃。
我不知道,这个关卡编辑器是为了更轻松的工作而制作的,但现在它只是让我的工作量增加了一倍。我甚至以为问题在我的背景图像上。但它是标准的.png格式。为什么我的内容没有显示出来?
因此,我尝试复制GameViewController默认代码以加载GameScene,结果导致崩溃。这不是我第一次在尝试解档时遇到这个错误。这是什么意思?当我尝试用if let scene = PauseScene.unarchiveFromFile("PauseScene") as? PauseScene
替换var scene = PauseScene(size: self.size)
时,我得到了这个错误。