通过在情节提要中使用不可见的 UIView 设置 SKSpriteNode 位置



我最近刚开始使用iOS Spritekit。大多数教程和 StackOverflow 主题都提到我不能使用故事板来排列 SKSpriteNode,所以我一直在努力布局我的视图,特别是我还有一些其他组件,如 UILabels。

我通过放置不可见的UIViews(并使用其他组件对它们进行自动布局(来破解这一点,并将值传递到SKScene中,SKScene将根据值放置SpriteNode--在转换坐标系等之后。

这种方法是否存在潜在问题?它适用于简单的情况,但它显然是一个黑客... :P
或者如果有更好的布局SpriteNode的方法?我正在浏览RayWenderlich教程,但到目前为止,其中许多似乎是硬编码的位置?

嗯,这肯定比需要完成的工作要多,所以可能会出现性能问题。 作为替代方案(也是正确的方法(,方法是使用 Xcode 中的场景编辑器。

创建一个新的 SpriteKit 场景文件并将您的节点添加到其中。 创建一个类为 SKScene 的新 Swift 文件,并为场景文件设置自定义类。

然后,要将这些节点放入您的类(如IBOutlet(,您所要做的就是以下内容...

override func didMove(to: view){
    let shipNode = self.childNode(withName: "shipNodeName") as! SKSpriteNode
}

最新更新