Swift: if 语句检查节点纹理是否与另一个节点纹理相同
Swift: if statement to check if Node Texture is the same as another Node texture
有 5 个不同颜色的球。 choiceBall 每次点击都会随机更改纹理(颜色),并指示您必须点击其他 4 个彩色球中的哪一个。我想做一个 if 语句,检查我点击的球是否与 choiceBall 具有相同的纹理,但我似乎找不到可行的方法。
这里我想如果choiceBall变成红色然后我按下红色的球就会打印RED。但这似乎没有发生。我不应该在 touchesBegan 中吗,因为我希望每次 点击 球时打印红色或蓝色或黄色或绿色。
感谢您的帮助。 :)
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")
}
}
请参阅 this answer on another Whosebug post 了解您可能正在寻找的解决方案。
在游戏架构方面,我建议在 choiceBall
上使用 Color
的枚举(或类似的东西),因为这样你就不会比较实际的纹理,而只会比较类型Color
每个球都是。这将使代码更简洁,您也可能能够从中提取更多功能。
示例:
enum Color {
case Red, Blue, Yellow, Green
}
[...]
if choiceBall.colorType == .Red {
println("RED")
}
else if choiceBall.colorType == .Blue {
println("BLUE")
}
else if choiceBall.colorType == .Yellow {
println("YELLOW")
}
else if choiceBall.colorType == .Green {
println("GREEN")
}
有 5 个不同颜色的球。 choiceBall 每次点击都会随机更改纹理(颜色),并指示您必须点击其他 4 个彩色球中的哪一个。我想做一个 if 语句,检查我点击的球是否与 choiceBall 具有相同的纹理,但我似乎找不到可行的方法。
这里我想如果choiceBall变成红色然后我按下红色的球就会打印RED。但这似乎没有发生。我不应该在 touchesBegan 中吗,因为我希望每次 点击 球时打印红色或蓝色或黄色或绿色。
感谢您的帮助。 :)
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")
}
}
请参阅 this answer on another Whosebug post 了解您可能正在寻找的解决方案。
在游戏架构方面,我建议在 choiceBall
上使用 Color
的枚举(或类似的东西),因为这样你就不会比较实际的纹理,而只会比较类型Color
每个球都是。这将使代码更简洁,您也可能能够从中提取更多功能。
示例:
enum Color {
case Red, Blue, Yellow, Green
}
[...]
if choiceBall.colorType == .Red {
println("RED")
}
else if choiceBall.colorType == .Blue {
println("BLUE")
}
else if choiceBall.colorType == .Yellow {
println("YELLOW")
}
else if choiceBall.colorType == .Green {
println("GREEN")
}