作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当我尝试在 Swift 中为我的游戏添加不同的场景时,我遇到了 unarchiveFromFile 方法。这种方法的问题在于它只适用于 GameScene 类。如果你从
extension SKNode {
class func unarchiveFromFile(file : NSString) -> SKNode? {
if let path = NSBundle.mainBundle().pathForResource(file, ofType: "sks") {
var sceneData = NSData.dataWithContentsOfFile(path, options: .DataReadingMappedIfSafe, error: nil)
var archiver = NSKeyedUnarchiver(forReadingWithData: sceneData)
archiver.setClass(self.classForKeyedUnarchiver(), forClassName: "SKScene")
let scene = archiver.decodeObjectForKey(NSKeyedArchiveRootObjectKey) as GameScene
archiver.finishDecoding()
return scene
} else {
return nil
}
}
}
class GameViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
if let scene = GameScene.unarchiveFromFile("GameScene") as? GameScene {
let skView = self.view as SKView
skView.ignoresSiblingOrder = true
skView.presentScene(scene)
}
// This won't work for MenuScene.unarchiveFromFile("MenuScene") as? MenuScene
// nor MenuScene.unarchiveFromFile("MenuScene") as? GameScene
最佳答案
我没有经常使用 Xcode 6,但这是我的理解(有人可能会纠正我或解释):
这就是您的应用如何利用 GameScene(或任何 SKScene
)的布局数据等。如果您单击 Project Navigator 面板中的 GameScene.sks 文件,您将获得一个用于您的 GameScene 的可视化编辑器。
如果您希望使用此布局数据,则可以使用该方法。您可以在场景编辑器中直观地布置您的 GameScene,而无需编写位置、设置等代码。
关于sprite-kit - GameViewController 中的 unarchiveFromFile 方法是做什么用的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25468013/
当我尝试在 Swift 中为我的游戏添加不同的场景时,我遇到了 unarchiveFromFile 方法。这种方法的问题在于它只适用于 GameScene 类。如果你从 extension SKNod
我对 SpriteKit 还是个新手,想看看我是否可以使用 Xcode 的 SKS 编辑器构建关卡。当我添加几个带有“Spaceship.png”纹理的 Sprite 并构建模板应用程序时,纹理不会加
我正在使用 Xcode 7 beta 2 并按照 raywenderlich.com 的 Breakout 教程来学习 SpriteKit。这是我尝试使用 unarchiveFromFile 加载 G
我是一名优秀的程序员,十分优秀!