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),您需要更改(