- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
最好的方法是什么才能让标签包含击杀数、生命值或随着与其相关的变量发生变化而更新的分数?目前我只是使用 SKLabelNode 并使用变量为其分配文本,但未计算文本属性,因此它在初始化后保持静态。每次更改 monsteredDestroyed 变量时,我都可以更新文本,但我觉得有更好的方法可以做到这一点。
let label = SKLabelNode(fontNamed: "CoolFont")
label.text = "Kills: \(monstersDestroyed)"
最佳答案
没有更好的方法来做到这一点。您不能让 SKLabelNode ‘监听’变量的变化(实际上有一个名为 Key-Value Observing 的系统,但在这种情况下它会过大)。我建议设置一种方法来管理分数并在屏幕上更新它。调用该函数来更新和跟踪分数或要显示在屏幕上的任何其他变量将是一件简单的事情。
let lblScore = SKLabelNode() //Label with global scope.
var score:Int = 0 //The variable holding the score.
func updateScoreWithValue (value: Int) {
score += value
lblScore.setText("\(score)")
}
您可以简单地使用值调用此方法来递增/递减分数。
self.updateScoreWithValue(10) //Adds 10 and updates it on screen.
self.updateScoreWithValue(-10) //Subtracts 10.
关于ios - Sprite Kit 动态更新杀戮/得分/健康标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26943096/
这个问题在这里已经有了答案: adb server version doesn't match this client (41 个回答) 关闭 4 年前。 我正在使用本教程创建我的第一个 react
这个问题在这里已经有了答案: adb server version doesn't match this client (41 个回答) 2年前关闭。 无法在 Android 上启动项目: adb s
我收到以下错误: Task attempt_201304161625_0028_m_000000_0 failed to report status for 600 seconds. Killing!
这个问题在这里已经有了答案: adb server version doesn't match this client (41 个回答) 关闭4年前。 在测试设备上安装 Android O 预览版后,
我意识到还有其他关于此问题的帖子,但我一整天都找不到任何可以帮助解决我的问题的内容,我想知道是否有人知道修复方法或能够根据我的特定软件包版本为我指出正确的方向。 我正在运行 gulp 来构建我的项目,
作业的 reduce 阶段失败并显示: 失败的 Reduce 任务超出了允许的限制。 每个任务失败的原因是: 任务 attempt_201301251556_1637_r_000005_0 未能报告状
我是一名优秀的程序员,十分优秀!