【问题标题】:Setting SKSpriteNode position by using invisible UIView in Storyboard在 Storyboard 中使用不可见的 UIView 设置 SKSpriteNode 位置
【发布时间】:2017-08-27 18:16:45
【问题描述】:

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

我通过放置不可见的 UIView(并使用其他组件对其进行自动布局)来解决这个问题,并将值传递到 SKScene 中,这将根据值放置 SpriteNode——在转换坐标系等之后。

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

【问题讨论】:

    标签: ios uiview sprite-kit storyboard skspritenode


    【解决方案1】:

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

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

    那么,要将这些节点放入您的类(如 IBOutlet)中,您所要做的就是以下...

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

    【讨论】:

    • 感谢您的回答!也找到了一个教程。
    猜你喜欢
    • 1970-01-01
    • 2017-06-19
    • 1970-01-01
    • 1970-01-01
    • 2013-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多