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