2017-02-28 1 views
1

J'essaie de détecter si l'utilisateur touche le côté gauche ou droit de l'écran dans un SKScene.Touche de détection rapide sur les côtés gauche et droit de l'écran SKScene

Je ai mis le code suivant ensemble, mais il est seulement sortie "Right", peu importe où est touché.

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



    for touch in touches { 
     let location = touch.location(in: self) 

     if(location.x > self.frame.size.width/2){ 
      print("Left") 
     } 

     else if(location.x < self.frame.size.width/2){ 
      print("Right") 
     } 
    } 
} 
+0

Ne serait-il pas plus grand que (>) et moins que (<)? –

+0

C'est vrai .. Maintenant, il continue à sortir "gauche" quand je touche n'importe où. –

Répondre

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

    for touch in touches { 
     let location = touch.location(in: self) 

     if(location.x < 0){ 
      print("Left") 
     } 
     else { 
      print("Right") 
     } 
    } 
} 

qui semble fonctionner. Avant que vous vérifiiez si le toucher était sur le côté gauche/droit du côté gauche de l'écran, par conséquent, il vous donnait toujours droit. Par exemple, sur un iPhone 7 plus, vous vérifieriez si votre toucher (disons que le x était de 20) était sur le côté droit du côté gauche de 365. Puisque 20 est plus petit que 365, il a dit que vous avait cliqué sur le côté droit.