2016-11-24 64 views
0

在完全加載場景後添加精靈節點的最佳方式是什麼?序列如下所示: 1)我構建場景GameScene()。 2)一段時間後,我下載後端數據,並使用這個信息在不同的類NodeBuilder()中構建SKSpriteNode。
3)我想將這個節點添加到我已經加載的場景的實例中。 實現步驟3)的最佳方式是什麼?如何添加一個精靈現有的場景

回答

1

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 
} 
+0

謝謝你的回答,但你不明白。可以在GameScene()中的viewDidLoad()或其他函數中使用addChiled()。我試圖在所有這些函數運行並且GameScene的一個實例已經啓動並運行後加載節點 –

+0

@ ShaneO'Seasnain你必須做出一些事情觸發這個然後 – Nik

+0

@ ShaneO'Seasnain是的,你仍然可以使用這個在GameScene運行時隨時添加節點。 – Wes