0
在完全加载场景后添加精灵节点的最佳方式是什么?序列如下所示: 1)我构建场景GameScene()。 2)一段时间后,我下载后端数据,并使用这个信息在不同的类NodeBuilder()中构建SKSpriteNode。
3)我想将这个节点添加到我已经加载的场景的实例中。 实现步骤3)的最佳方式是什么?如何添加一个精灵现有的场景
在完全加载场景后添加精灵节点的最佳方式是什么?序列如下所示: 1)我构建场景GameScene()。 2)一段时间后,我下载后端数据,并使用这个信息在不同的类NodeBuilder()中构建SKSpriteNode。
3)我想将这个节点添加到我已经加载的场景的实例中。 实现步骤3)的最佳方式是什么?如何添加一个精灵现有的场景
在GameScene
:
addChild(yourNode)
对于获得并保持到NodeBuilder
的引用:
的NodeBuilder
创作GameScene
:
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
}
谢谢你的回答,但你不明白。可以在GameScene()中的viewDidLoad()或其他函数中使用addChiled()。我试图在所有这些函数运行并且GameScene的一个实例已经启动并运行后加载节点 –
@ ShaneO'Seasnain你必须做出一些事情触发这个然后 – Nik
@ ShaneO'Seasnain是的,你仍然可以使用这个在GameScene运行时随时添加节点。 – Wes