【发布时间】:2023-03-15 02:56:01
【问题描述】:
我正在尝试这样做一段时间。我有一个名为PlayScene 的游戏的主要场景。我那里有一个暂停按钮。当玩家点击该按钮时,我想加载另一个名为 PauseScene 的场景。为了直观地创建该场景,我使用 Sprite 工具包级别编辑器。所以我有两个文件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() {
}
}
我尝试了this,但效果不佳。但是that tutorial 是我能解决的最接近的问题。它没有崩溃,也没有显示任何错误,但是当我点击暂停按钮时,它会过渡到没有我背景的场景,只是标准的灰色场景。 This 答案对我不起作用。第一个建议显示错误,当我尝试第二个并点击暂停时 - 游戏崩溃了。
我不知道,那个关卡编辑器是为了更轻松的工作而设计的,但要知道它对我来说只是加倍。我什至认为问题可能出在我的背景图像中。但它的标准.png。为什么我的内容没有显示?
所以我试图复制 GameViewController 默认代码来加载 GameScene 并最终崩溃。这不是我第一次尝试取消归档时遇到that error。这是什么意思?当我尝试用 if let scene = PauseScene.unarchiveFromFile("PauseScene") as? PauseScene 替换 var scene = PauseScene(size: self.size) 时,我得到了这个
【问题讨论】:
标签: swift sprite-kit