Как обнаружить двойной тап в спрайтеките - PullRequest
1 голос
/ 30 марта 2019

Я использую этот touch.tapCount в touchesBegan и пытаюсь напечатать значение, но оно никогда не возвращает 2.

Есть идеи, почему?Это может быть 1,3, 5,7,9, .... но не 2,4,6,8,10, ...

override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {


    if let touch = touches.first {
        //print(touch.tapCount)
        if ((touch.tapCount) == 1) {
            player.animatedPlayer()
            jump = true
        }
    }

}

1 Ответ

0 голосов
/ 02 апреля 2019

Вы должны использовать UITapGestureRecognizer для обработки tapEvent. свойство numberOfTapsRequired позволяет обнаруживать только DoubleTap

 override func viewDidLoad() {
     super.viewDidLoad()
     var tap = UITapGestureRecognizer(target: self, action: 
     #selector(self.handleTapGesture(gesture:)))
     tap.numberOfTapsRequired = 2
     self.scene?.view?.addGestureRecognizer(tap)
 }

 @objc func handleTapGesture(gesture: UITapGestureRecognizer) -> Void {
    // do something here
 }

Надеюсь, полезно!

...