Код, который я пишу, имеет проблему, когда всякий раз, когда я нажимаю где-то, кроме узла (например, фон), приложение завершается сбоем.
Я пытался сделать оператор if, но он говоритЯ не могу снизить SKnode
до более необязательного типа SKSpriteNode
.Я также пытался if node.contains(position of touch)
.
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
let touch = touches.first
if let touchLocation = touch?.location(in: self) {
let selectedNode = nodes(at: touchLocation)[0] as! SKSpriteNode
activeObject = selectedNode
storedData = Array(activeObject.name!)
let platformStoredInt = storedData[2]
storedPlatform = Int(platformStoredInt.unicodeScalars.first!.value - Unicode.Scalar("0")!.value)
}
}
Нажатие на что-либо, кроме узлов SKSpriteNode, которые считаются объектами, приводит к SIGABRT.