我刚刚开始使用iOS Spritekit。大多数教程和StackOverflow主题提到我不能使用Storyboard来安排SKSpriteNode,所以我一直在努力布局我的观点,特别是我还有一些其他组件,如UILabels。
我通过放置不可见的UIViews(并使用其他组件对它们进行自动布局)来解决这个问题,然后将值传递给SKScene,这将根据值放置SpriteNode - 转换坐标系后等。
这种方法会有潜在的问题吗?它适用于简单的情况,但它显然是一个黑客......:P
或者,如果有更好的布局方式SpriteNode?我正在阅读RayWenderlich教程,但到目前为止,其中许多似乎都是硬编码的位置?
答案 0 :(得分:0)
嗯,这肯定比需要做的工作更多,因此可能存在性能问题。作为替代(以及正确的方法),可以使用Xcode中的场景编辑器。
创建一个新的SpriteKit场景文件并将节点添加到其中。创建一个类SKScene的新Swift文件,并为场景文件设置自定义类。
然后你需要做的就是让这些节点进入你的班级(比如IBOutlet)......
override func didMove(to: view){
let shipNode = self.childNode(withName: "shipNodeName") as! SKSpriteNode
}