在场景完全加载后添加 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/