Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift SpriteKit场景编辑器_Swift_Xcode_Sprite Kit - Fatal编程技术网

Swift SpriteKit场景编辑器

Swift SpriteKit场景编辑器,swift,xcode,sprite-kit,Swift,Xcode,Sprite Kit,在我的GameScene.sks文件中,我将游戏场景作为父级的播放器和SKLabelNode作为播放器的子级。在gamesene.sks文件中,文本为0,以下代码位于gamesene.swift文件中 playerHealthLbl = childNode(withName: "playerHealthLbl") as? SKLabelNode playerHealthLbl?.text = String(200) 这里的问题是,每当我构建和运行我的项目时,.SKLableNode.text仍

在我的
GameScene.sks
文件中,我将游戏场景作为父级的播放器和
SKLabelNode
作为播放器的子级。在
gamesene.sks
文件中,文本为0,以下代码位于
gamesene.swift
文件中

playerHealthLbl = childNode(withName: "playerHealthLbl") as? SKLabelNode
playerHealthLbl?.text = String(200)
这里的问题是,每当我构建和运行我的项目时,.
SKLableNode.text
仍然等于0,而不是200。我确保
gamesene.sks
文件中的名称与
gamesene.swift
文件中的名称相同。 另外,如果我将
SKLabelNode
的父节点切换到场景本身,则文本将更改为200。你知道为什么吗?请告知


谢谢

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

childNode(名为:“playerHealthbl”)
self.childNode(名为:“playerHealthbl”)

self是场景(在本例中),场景没有名为 “运动员健康”

所以你想做
player.childNode(名字为:“playerHealthbl”)


或者
childNode(名称:“//playerHealthbl”)
它横穿所有的子节点,而不考虑层

谢谢!我一直都习惯于硬编码,以至于这么简单的事情变得如此困难--在那里…很多次…很容易变得如此专注以至于很难看到简单的问题。很高兴能帮上忙大约一个小时。我猜这就是用简单的方法来做的。坚持下去,我以前对场景编辑器也很失望,但现在我无法想象回到硬编码的状态!谢谢你的帮助和建议。