swift - 如何在现有场景中添加 Sprite

标签 swift sprite-kit

在场景完全加载后添加 Sprite 节点的最佳方法是什么?该序列如下所示: 1) 我构建场景,GameScene()。 2) 一段时间后,我下载后端数据并使用此信息在不同的类 NodeBuilder() 中构建一个 SKSpriteNode。
3) 我想将此节点添加到我已经加载的场景实例中。 实现步骤 3) 的最佳方法是什么?

最佳答案

GameScene 中:

addChild(yourNode)

获取并保留对 NodeBuilder 的引用:

GameScene中创建NodeBuilder:

class GameScene : SKScene {

    var nodeBuilder = NodeBuilder() // Create an instance of NodeBuilder

    func didMoveToView(skView: SKView) {

        nodeBuilder.gameScene = self // Add self as the instance of GameScene that nodeBuilder has reference to

    }
}

NodeBuilder 中:

class NodeBuilder {

    var gameScene : GameScene! // This is how you keep your reference

    func addNodeToGameScene(node: SKNode) {

        self.gameScene.addChild(node)

    }

    addNodeToGameScene(aNode) // This is how you would call the method to add a node to GameScene from NodeBuilder
}

关于swift - 如何在现有场景中添加 Sprite ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40793420/

相关文章:

Swift 代码崩溃且无法正常工作

ios - Sprite 节点位置未通过触摸更新?

swift - 用于表单验证的信号和观察者(Reactive Swift)未按预期工作

swift - 随机化 spritekit 中的不同敌人向玩家移动

swift - 在 SKScene swift 中获取点的颜色

swift - 如何在 Swift 中调用另一个类的字符串?

swift - iOS 13 上的自定义 bundle 中的 Xcode 11 : Failed to instantiate image from asset catalog (. 汽车文件)

Swift 4 子串崩溃

ios - Swift 错误 fatal error : unexpectedly found nil while unwrapping an Optional value

swift - 如何在 Swift 中从 UnsafeMutablePointer<UInt8> 获取 CVPixelBuffer 句柄?