Shane O'Seasnain
Shane O'Seasnain

Reputation: 3674

how to add a sprite an existing scene

What is the best way to add a sprite node after a scene has been fully loaded? The sequence looks like this: 1) I build the scene, GameScene(). 2) Some time later, I download backend data and I use this info to build a SKSpriteNode in a different class, NodeBuilder().
3) I want to add this node to the instance of my scene that I'd already loaded. What's the best way to achieve step 3)?

Upvotes: 0

Views: 51

Answers (1)

Wes
Wes

Reputation: 1042

In GameScene:

addChild(yourNode)

For getting and keeping a reference to NodeBuilder:

Creation of NodeBuilder in 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

    }
}

In 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
}

Upvotes: 1

Related Questions