我有一个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) }
以上代码应将节点从蓝色更改为红色,并在每次触摸时将其更改为蓝色。 它回来说“可选”测试“”所以它正在注册名称更改和颜色更改,但是当我再次点击它时,它不会再次改变颜色?为什么呢?
由于
答案 0 :(得分: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案例可能是一个好主意。