SpriteKit场景编辑器

时间:2018-03-16 23:27:13

标签: swift xcode sprite-kit

在我的GameScene.sks文件中,我将播放器的GameScene作为父级,将SKLabelNode作为播放器的子级。在GameScene.sks文件中,我将文本设为0,并在GameScene.swift文件中包含以下代码

playerHealthLbl = childNode(withName: "playerHealthLbl") as? SKLabelNode
playerHealthLbl?.text = String(200)

这里的问题是每当我构建并运行我的项目时,。SKLableNode.text仍然等于0而不是200.我确保GameScene.sks文件中的名称与{相同} {1}}文件。 此外,如果我将GameScene.swift的父级切换到场景本身,则文本更改为200.任何想法为什么?请指教。

感谢。

1 个答案:

答案 0 :(得分:1)

因为标签是玩家不是自己的孩子

childNode(withName: "playerHealthLbl")self.childNode(withName: "playerHealthLbl")

相同

和self是场景(在本例中),并且场景没有名为的子节点 “playerHealthLbl”

所以你想做player.childNode(withName: "playerHealthLbl")

childNode(withName: "//playerHealthLbl")横穿所有孩子而不管图层