2017-02-28 3 views
1

Ich versuche zu erkennen, ob der Benutzer in einem SKScene die linke oder rechte Seite des Bildschirms berührt.Schnelle Erkennung der Berührung auf der linken und rechten Seite des Bildschirms SKScene

Ich habe den folgenden Code zusammen aber es gibt nur "Right" unabhängig davon, wo berührt wird.

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

Wäre nicht richtig größer als (>) und links kleiner als (<)? –

+0

Das stimmt. Jetzt gibt es weiterhin "Links" aus, wenn ich irgendwo berühre. –

Antwort

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

Das scheint zu funktionieren. Bevor Sie überprüft haben, ob sich die Berührung auf der linken/rechten Seite der linken Seite des Bildschirms befindet, hat es Ihnen immer Recht gegeben. Zum Beispiel würden Sie auf einem iPhone 7 plus überprüfen, ob Ihre Berührung (sagen wir, das x war 20) war auf der rechten Seite der linken Seite von 365. Da 20 kleiner als 365 ist, sagte es, dass Sie hatte auf die rechte Seite geklickt.

Verwandte Themen