我认为这样的事情会起作用,但觉得我的功能是不合适的。它编译但没有做任何事情,我甚至不确定它是否能像这样工作。我很快乐,很感激任何帮助。
override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
/* Called when a touch begins */
for touch in touches {
_ = touch.locationInNode(self)
colorSwitch()
}
}
func colorSwitch(){
if (ShapeY.color == UIColor.whiteColor()) {
ShapeY.color = UIColor.blackColor()
}
else if (ShapeY.color == UIColor.blackColor()) {
ShapeY.color = UIColor.whiteColor()
}
}
答案 0 :(得分:-1)
使用==
运算符无法比较颜色,因此两个if语句的计算结果均为false。尝试将==
更改为:
ShapeY.color.isEqual(UIColor.whiteColor())
您可能必须使用!
打开可选项:
ShapeY.color!.isEqual(UIColor.whiteColor())