在SpriteKit模板中,GameScene.swift和GameScene.sks文件之间的关系是什么

在SpriteKit模板中,GameScene.swift和GameScene.sks文件之间的关系是什么,第1张

概述我一直在玩SpriteKit,并且从代码中获取了一个非常好的感觉,但是它让 Xcode 6中包含的级别编辑器感到非常困惑. 我看过wwdc视频(“工作平台状态”和“spriteKit中的新功能”),并在网络上搜索,但是还没有找到关于级别编辑器的很多描述,以及它真正在做什么. 我不明白,模板设置的两个文件是如何相关的? .sks文件是GameScene.swift文件的表达式,还是其包含的GameS 我一直在玩SpriteKit,并且从代码中获取了一个非常好的感觉,但是它让 Xcode 6中包含的级别编辑器感到非常困惑.

我看过wwdc视频(“工作平台状态”和“spriteKit中的新功能”),并在网络上搜索,但是还没有找到关于级别编辑器的很多描述,以及它真正在做什么.

我不明白,模板设置的两个文件是如何相关的? .sks文件是GameScene.swift文件的表达式,还是其包含的GameScene类?

或者他们是否只是在同一个场景中一起玩独立的对象/节点?

或者(这是我最好的解释)是.sks文件和编辑器基本上是为了使响应人物“活着”的环境?如果是这样,我的.swift文件中的代码如何与.sks文件中的代码相关?

.sks文件是您场景内容的静态存档.如果以前使用过Interface Builder来设置UI应用程序,那么实现方式与之相同,这是一样的.

在UI应用程序中,您可以在代码中执行所有 *** 作:

overrIDe func vIEwDIDLoad() {    let someText = UITextFIEld(...)    let abutton = UIbutton(...)    // ... position everything    // ... style everything    // ... etc ...}

或者您可以在IB(xib或storyboard)中进行所有静态内容设置,并且仅使用代码来设置应用程序的动态行为 – 当有人开始触摸这些按钮时发生的事情.当您这样做时,您编写代码的视图控制器在xib / storyboard中作为代理对象存在,在您在IB中设置的内容与您在代码中设置的内容之间建立了桥梁.

在SpriteKit中,您有相同的选择.在Xcode 6之前,许多SK游戏采用全码方式:

overrIDe func dIDMovetoVIEw(vIEw: SKVIEw) {    let player = PlumberSprite(color: .Red)    player.position = // ...    player.physicsBody = // ...    self.addChild(player)    let ground = SKSpriteNode(...)    ground.position = // ...    ground.physicsBody = // ...    self.addChild(ground)    let block = QuestionBlockSprite()    block.position = // ...    block.physicsBody = // ...    block.contents = Coi@R_419_6648@ite()    self.addChild(block)    // ... etc etc etc ...}

即使在开始添加代码以使其成为游戏(输入处理,敌人行为,增加分数或转到游戏等的物理回调)之前,甚至在开始添加图形,静态场景之前,还有很多代码.而对于将内容中的一般游戏逻辑分解出去的设计来说,它并不适合您,因此更难为游戏添加多个级别.

相反,您可以使用Xcode中的SpriteKit编辑器构建静态内容(级别),并遵守动态行为和游戏逻辑的代码.就像在IB中,视图控制器是您的故事板和代码之间的桥梁,您的场景类(模板中的GameScene.swift)是编辑器和代码之间的桥梁.当您在运行时加载.sks文件(模板中的GameVIEwController.swift的代码)时,它将成为您的GameScene类的一个实例,您在编辑器中设置的任何内容都可以作为场景的子节点访问.

检查WWDC会话是一个好主意,但是您错过了这一点:参见session 608: Best Practices for Building SpriteKit Games了解更多关于SpriteKit编辑器背后的动机,如何使用它以及如何使用从.sks文件加载的场景内容你的场景代码

总结

以上是内存溢出为你收集整理的在SpriteKit模板中,GameScene.swift和GameScene.sks文件之间的关系是什么全部内容,希望文章能够帮你解决在SpriteKit模板中,GameScene.swift和GameScene.sks文件之间的关系是什么所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1028491.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存