2014-10-12 18 views

risposta

0

Avrai bisogno di confrontare la posizione del tuo Toccare per la posizione del SKNode

È possibile ottenere la posizione del tuo tocco in uno dei seguenti modi, utilizzando locationInNode():

  • touchesBegan()
  • touchesMoved()
  • touchesEnded()
+1

altro dettaglio – user3138007

1

Esaminare SceneKitVehicle demo di Apple. Qualcuno gentilmente ported it to Swift.

Il codice che si desidera è nel file GameView.swift. Nella GameView vedrai i tocchi. Override iniziale. Ecco la mia versione di esso per la Swift 2.1:

override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) { 
    guard let scene = self.overlaySKScene else { 
     return 
    } 

    let touch = touches.first! 
    let viewTouchLocation = touch.locationInView(self) 
    let sceneTouchPoint = scene .convertPointFromView(viewTouchLocation) 
    let touchedNode = scene.nodeAtPoint(sceneTouchPoint) 

    if (touchedNode.name == "Play") { 
     print("play") 
    } 
} 

Se non è chiaro; GameView è impostato come classe di visualizzazione dell'app tramite lo Storyboard.

Problemi correlati