Если я касаюсь, кроме кнопок, игра падает. Что я могу сделать? И как? Я хочу игнорировать все касания, которые помимо кнопок. Как я могу это сделать? Вот мой touchesBegan:Swift 3 моя игра над кодом работает некорректно
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
let touch = touches.first
if let location = touch?.location(in: self),
let node = self.nodes(at: location).first {
var player = SKSpriteNode()
if node.name == "BlueButton" {
player = playerB
playerB.isHidden = false
} else if node.name == "RedButton" {
player = playerR
playerR.isHidden = false
} else if node.name == "YellowButton" {
player = playerY
playerY.isHidden = false
} else if node.name == "GreenButton" {
player = playerG
playerG.isHidden = false
}
for sprite in [playerB, playerW, playerR, playerY, playerG] {
sprite?.removeFromParent()
}
player.position = CGPoint(x: 0, y: -60)
addChild(player)
}
}
Вот моя touchesEnded функция
override func touchesEnded(_ touches: Set<UITouch>, with event: UIEvent?) {
addChild(playerW)
playerB.removeFromParent()
playerR.removeFromParent()
playerY.removeFromParent()
playerG.removeFromParent()
}
Я понимаю ваш английский. Я также отмечаю, что ваш final * else * is * gameOver() *. Несмотря на ** не ** отладка вашего кода (извинения), мой вопрос таков: всегда ли это ударяется? Что еще до хороших вопросов, можете ли вы дать мне что-то, что я могу проверить и воспроизвести? Проводили ли вы дебют с контрольными точками? – dfd
Итак, в первый раз, если я нажму на правую кнопку, это будет работать, но каждый раз распечатывать игру поверх ... –
И у меня нет точек останова. Он просто не работает правильно –