- “Hey!我昨天Flappy Bird得了100分!!!”
- “我叶良辰表示不服!”
Lecture06课时完毕,我们已经初步完成游戏的主体,可惜却没有一个衡量得分的标准。类似FlappyBird游戏,当然是谁通过的障碍物越多,就越牛逼。不如我们设定如下规则:
- 通过一对障碍物得1分。
- 触碰地面或者障碍物判定失败,结算分数。
当前任务主要分为:
- 显示分数牌
- 如何判断通过障碍物。
01.显示分数牌
像Flappy Bird的小游戏,我们不妨仅用SKLabelNode来显示分数,就类似平常我们所用的UILabel。请在var gameState: GameState = .Play
语句下方添加对记分牌的声明var scoreLabel: SKLabelNode!
,同时我们还需要用一个变量存储分数,继续在下方添加var score = 0
;此外对于这些显示额外帮主内容的,我们还需要添加一个UI
层,请修改早前的Layer
枚举:
enum Layer: CGFloat {
case Background
case Obstacle
case Foreground
case Player
case UI //新内容
}
类似早前setupBackground(),setupForeground()那样,我们依葫芦画瓢设置记分牌,请添加一个方法,如下:
func setupLabel() {
scoreLabel = SKLabelNode(fontNamed: