在没有 运行 的情况下再次更改 node.name 触摸内部?
Change node.name inside of touch without running again?
我想点击某个spritenode,改变那个spritenode的值。这就是问题所在。当我这样做并设置一个 if 语句时,它知道转到该 if 语句。但是,在下次单击按钮之前,我不希望它 运行。
示例:
apple.name = "apple"
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
for touch in touches {
let location = touch.location(in: self)
let node : SKNode = self.atPoint(location)
if node.name == "apple" {
appple.name = "orange"
print("Hello")
}
if node.name = "orange" {
//do this
}
}
}
有办法吗?
首先,在您的第二个 if 语句中,您没有检查值“==”,您正在为其分配一个值“=”。
无论如何,解决您的问题的一个简单方法是添加一个 else if 语句。
if node.name == "apple" {
appple.name = "orange"
print("Hello")
}else if node.name == "orange" {
//do this
}
我想点击某个spritenode,改变那个spritenode的值。这就是问题所在。当我这样做并设置一个 if 语句时,它知道转到该 if 语句。但是,在下次单击按钮之前,我不希望它 运行。
示例:
apple.name = "apple"
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
for touch in touches {
let location = touch.location(in: self)
let node : SKNode = self.atPoint(location)
if node.name == "apple" {
appple.name = "orange"
print("Hello")
}
if node.name = "orange" {
//do this
}
}
}
有办法吗?
首先,在您的第二个 if 语句中,您没有检查值“==”,您正在为其分配一个值“=”。
无论如何,解决您的问题的一个简单方法是添加一个 else if 语句。
if node.name == "apple" {
appple.name = "orange"
print("Hello")
}else if node.name == "orange" {
//do this
}