在Sprite Kit中死后显示奖牌

时间:2016-06-11 23:14:43

标签: swift sprite-kit

在我的游戏中,我希望像Flappy Bird一样拥有奖牌。所以在玩家死后它应该显示正确的奖牌。我做了这个代码:

{{1}}

在游戏中,得分更高,以达到奖牌,但我把它放在这个数字上进行测试。所以我的问题是,如果我得到5或更高的分数,它应该显示白金奖章,但它只显示4和更高的金牌。 其他人运作良好。 (2 =青铜,3 =银,4 =金,5 =金 - >错误)

我不知道如何解决这个问题,也许有人可以帮助我。

1 个答案:

答案 0 :(得分:0)

有可能更好的方法来做到这一点,虽然你想知道什么是错的,这个答案将集中在你的结构上。基本上你与黄金和白金有冲突,因为即使分数高于这个水平,也没有什么能阻止if语句延续到4。我建议您在第一个else if之后使用if语句:

var score : Int = 5

if score >= 5 {
    print("platinum")
}
else if score >= 4 {
    print("gold")
}
else if score >= 3 {
    print("silver")
}
else if score <= 2 {
    print("bronze")
} 

此外,您应该使用小于/大于等于以确保您为相应的分数设置正确的奖牌。我个人喜欢自下而上的方法(这与你上面所看到的相反),但在这方面它确实是个人偏好。这是一个例子:

var score : Int = 5

if score <= 2 {
    print("bronze")
}
else if score <= 3 {
    print("silver")
}
else if score <= 4 {
    print("gold")
}
else if score >= 5 {
    print("platinum")
}