UITapGestureRecognizer - обнаружение спрайта в месте нажатия (быстрое)
Я делаю игру для iOS, и мне нужно знать, как определить местоположение крана для uitapgesturerecognizer. Я не хочу использовать touchesBegan, touchesEnded и т. Д. Мне также нужно знать, как проверить, дважды ли пользователь нажал на узел спрайта. Я уже настроил uitapgesturerecognizer, и все, что мне нужно знать, это как найти местоположение касания и посмотреть, находится ли оно в том же месте, что и узел спрайта.
Любая помощь очень ценится!
1 ответ
Решение
Предполагая, что ваш спрайт принадлежит к классу, который наследует от UIView (и я думаю, что они вообще так), функция-обработчик для распознавателя жестов должна выглядеть следующим образом.
func handleDoubleTap(gestureRecognizer: UITapGestureRecognizer) {
let tapLocation = gestureRecognizer.location(in: gestureRecognizer.view)
if mySprite.frame.contains(tapLocation){
print("tapped")
}
}