有5个不同颜色的球。 choiceBall随每个点击随机改变纹理(颜色),并指示您必须点击其他4个彩球中的哪一个。我想做一个if语句,我检查我点击的球是否与choiceBall的纹理相同,但我似乎无法找到一种有效的方法。
在这里,我想如果choiceBall变成红色,我按下RED将打印的红色球。但它似乎没有发生。我不应该在touchesBegan中,因为每当我在球上点击时我都希望打印RED或BLUE或YELLOW或GREEN。
感谢您的帮助。 :)
override func touchesBegan(touches: Set<NSObject>, withEvent event: UIEvent) {
let randomIndex = Int(arc4random_uniform(UInt32(array.count)))
choiceBall.texture = array[randomIndex]
if choiceBall.texture == redBall.texture {
println("RED")
}
else if choiceBall.texture == blueBall.texture
{
println("BLUE")
}
else if choiceBall.texture == yellowBall.texture {
println("YELLOW")
}
else if choiceBall.texture == greenBall.texture {
println("GREEN")
}
}
答案 0 :(得分:1)
请参阅this answer on another StackOverflow post了解您可能正在寻找的解决方案。
就游戏架构而言,我建议在Color
上使用choiceBall
(或类似内容)的枚举,因为那时你不会比较实际纹理,只是{ {1}}每个球都是。这样可以使代码更清晰,并且您可能也可以从中获得更多功能。
示例:强>
Color