ios - 单独的触摸代码

标签 ios swift sprite-kit

我有一个 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/

相关文章:

ios - boolean 返回帮助查找修复

ios - 在 UIContainerView swift ios 中调整 subview Controller 的大小

ios - 检查 SKAction 是否正在运行

ios - 如何一起为多个 SKSpriteNode 设置动画?

ios - SpriteKit 在暂停后不会恢复

ios - iOS 中的线程通信?

ios - 使用 iOS 11 mlmodel 进行图像分类 - 使用 coremltools 和训练有素的 .caffemodel 转换问题

swift - 如何对 NSFetchedResultsController 的不同部分使用不同的 NSSortDescriptor ? ( swift )

iphone - iOS 设备空闲,网络停止。我如何收到有关进入 'idle' 状态的通知?

swift - 赋值前验证值不相等