Как приостановить касания Начать и использовать только касания Перемещенные наоборот? - PullRequest
0 голосов
/ 25 мая 2018

В данный момент я программирую игру на swift, Xcode, и я хотел бы, чтобы пользователь мог выбирать, какие элементы управления он хочет (скользить или нажимать).На данный момент я смог сделать свой SKNode слайдом в основной игровой сцене, а также реагировать на постукивания.Однако я обнаружил, что SKNode постоянно трясется при скольжении (так как функция touchesBegan думает, что я нажимаю на экран).

Если кто-нибудь знает лучший способ приостановить одну из функций, пока другая остается активнойпожалуйста, дайте мне знать:)

Например: пользователь решает играть в игру, сдвигая, я хотел бы приостановить функцию touchesBegan, но оставлю активным touchesMoved.

1 Ответ

0 голосов
/ 26 мая 2018

Существует метод делегата, позволяющий проверить, не прошел ли один жест, если true, другой жест распознается.Например, в моем проекте у меня есть два жеста, нажмите один раз и нажмите дважды, и я использовал:

 public func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRequireFailureOf otherGestureRecognizer: UIGestureRecognizer) -> Bool {
    if otherGestureRecognizer.numberOfTouches == 2 {
        return true
    }
    return false
}

Для получения дополнительной информации проверьте ссылку Apple: https://developer.apple.com/documentation/uikit/uigesturerecognizer/1620006-shouldrequirefailure

...