Swift 在雪碧套装中死亡后展示奖牌
在我的比赛中,我希望获得像《飞鸟》那样的奖牌。所以在运动员死后,它应该显示正确的奖牌。我制定了以下代码:Swift 在雪碧套装中死亡后展示奖牌,swift,sprite-kit,Swift,Sprite Kit,在我的比赛中,我希望获得像《飞鸟》那样的奖牌。所以在运动员死后,它应该显示正确的奖牌。我制定了以下代码: if self.score > 4{ let platinummedalTexture = SKTexture(imageNamed: "medal_platinum.png") self.platinummedal = SKSpriteNode(texture: platinummedal
if self.score > 4{
let platinummedalTexture = SKTexture(imageNamed: "medal_platinum.png")
self.platinummedal = SKSpriteNode(texture: platinummedalTexture)
self.platinummedal.setScale(1)
self.platinummedal.zPosition = 120
self.platinummedal.position = CGPointMake(CGRectGetMidX(self.frame)-65, CGRectGetMidY(self.frame)-0 - 10)
self.addChild(self.platinummedal)
}
if self.score > 3{
let goldmedalTexture = SKTexture(imageNamed: "medal_gold.png")
self.goldmedal = SKSpriteNode(texture: goldmedalTexture)
self.goldmedal.setScale(1)
self.goldmedal.zPosition = 120
self.goldmedal.position = CGPointMake(CGRectGetMidX(self.frame)-65, CGRectGetMidY(self.frame)-0 - 10)
self.addChild(self.goldmedal)
}
if self.score > 2{
let silvermedalTexture = SKTexture(imageNamed: "medal_silver.png")
self.silvermedal = SKSpriteNode(texture: silvermedalTexture)
self.silvermedal.setScale(1)
self.silvermedal.zPosition = 120
self.silvermedal.position = CGPointMake(CGRectGetMidX(self.frame)-65, CGRectGetMidY(self.frame)-0 - 10)
self.addChild(self.silvermedal)
}
if self.score > 1{
let bronzemedalTexture = SKTexture(imageNamed: "medal_bronze.png")
self.bronzemedal = SKSpriteNode(texture: bronzemedalTexture)
self.bronzemedal.setScale(1)
self.bronzemedal.zPosition = 120
self.bronzemedal.position = CGPointMake(CGRectGetMidX(self.frame)-65, CGRectGetMidY(self.frame)-0 - 10)
self.addChild(self.bronzemedal)
}
在比赛中,得分更高才能拿到奖牌,但我把它放在这个数字上进行测试。所以我的问题是,如果我得到5分或更高的分数,它应该显示白金奖牌,但它只显示4分或更高的金牌。
其他的效果很好。(2=铜,3=银,4=金,5=金->错)
我不知道如何解决这个问题,也许你们中的某个人可以帮助我 可能有更好的方法可以做到这一点,不过因为你想知道哪里不对,所以这个答案将集中在你的结构上。基本上,你与黄金和白金有冲突,因为没有什么可以阻止if语句继续下降到4,即使分数高于4。我建议在第一次
if
之后使用else 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分数:Int=5
如果得分>=5{
印刷品(“白金”)
}
否则,如果得分>=4{
印刷品(“黄金”)
}
否则,如果得分>=3{
印刷品(“银”)
}
否则,如果得分,可能有更好的方法来做这件事,尽管因为你想知道什么是错的,这个答案将集中在你的结构上。基本上,你与黄金和白金有冲突,因为没有什么可以阻止if语句继续下降到4,即使分数高于4。我建议在第一次if
之后使用else 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分数:Int=5
如果得分>=5{
印刷品(“白金”)
}
否则,如果得分>=4{
印刷品(“黄金”)
}
否则,如果得分>=3{
印刷品(“银”)
}
else if score PS:我留下最后一枚(没有奖牌)作为练习,让你了解如何融入。提示:应该是(小于或等于1),您需要更改(PS:我留下了最后一块(没有奖牌)作为练习,以便您了解如何融入。提示:应该是(小于或等于1),您需要更改(