我有一个 SKNode,当我触摸它时,在触摸开始下,它会运行以下代码:
if node.name == "0.5" {
node.name = "test"
node.fillColor = UIColor(hue: 1.0, saturation: 1.0, brightness: 1.0, alpha: 1.0) print(node.name)
} else if node.name == "test" {
node.name = "0.5"
node.fillColor = UIColor(hue: 0.4, saturation: 1.0, brightness: 1.0, alpha: 1.0) }
上面的代码应该在每次触摸节点时将节点从蓝色更改为红色,然后再更改回蓝色。 它返回说“可选“测试””,因此它正在注册名称更改和颜色更改,但是当我再次单击它时,它不会再次更改颜色?为什么?
谢谢
最佳答案
以下代码应该可以完成您想要的操作:
if node.name == "0.5" {
node.name = "test"
node.fillColor = UIColor(hue: 1.0, saturation: 1.0, brightness: 1.0, alpha:
} else if node.name == "test" {
node.name = "0.5"
node.fillColor = UIColor(hue: 0.5, saturation: 1.0, brightness: 1.0, alpha: 1.0)
}
如果您开始拥有两个以上可能的节点名称,那么使用 Switch 大小写可能是个好主意。
关于ios - 单独的触摸代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32865014/