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")
    }

}
Другие вопросы по тегам