我在切换语句中更新节点的颜色非常简单。
编辑:此代码位于watchOS应用程序的InterfaceController中。它从iOS应用程序接收消息,并将颜色字符串设置为填充颜色。
具有开关逻辑的功能看起来像这样。假设场景已经设置:
let b = SKShapeNode(rect:CGRect(x: 0, y: 0, width: 100, height: 100)
switch color {
case "red":
b.fillColor=UIColor.red
colorArea.scene?.addChild(b)
break
case: "blue":
b.fillColor=UIColor.blue
colorArea.scene?.addChild(b)
break
...
}
现在在调试器中我可以看到它击中了交换机中的所有正确情况,并且添加子节点的场景不是零。但是,无论我必须在正确的颜色出现之前两次点击switch语句。
我的意思是如果我想选择红色,我会触发一次红色动作。它按正常顺序通过switch语句,但没有任何反应。第二次我触发红色动作它会正常工作。 (这适用于交换机中的所有颜色)
我确信有一些简单的东西我想念......但我无法理解这一点。我甚至试图在切换之前删除所有子节点,以防有一些奇怪的重叠问题。