How to programmatically change text of SKLabelNode?

48 views Asked by At

I added some SKLAbelNode into SKNode, which is placed inside SKScene

I need SKNode for grouping some nodes

I added name "altitude" to my SKLAbelNode

and put this code into SKScene class which was associated with my .sks file

var altitude:SKLabelNode = SKLabelNode()

override func sceneDidLoad()
{
     if let alti:SKLabelNode = self.childNode(withName: "altitude") as? SKLabelNode {
           altitude = alti
     }
}

...

override func didMove (...) {
     altitude.text = "000"
}

But always I get Fatal error

UPD: I solved this error, but got a question, why when I point a name of sknode even if it's inside in other node and try to get access to it i must point all tree something like

let altitude= (self.childNode(withName: "sknode") as! SKNode).childNode(withName: "altitude") as! SKLabelNode
altitude.text = "000"
0

There are 0 answers