2017-07-14 1 views
3

Je travaille actuellement sur un projet dans lequel j'ai besoin que l'utilisateur appuie sur un nœud pour faire une action. Donc actuellement je travaille avec du code qui permettra que cela se produise mais seulement si l'utilisateur touche l'écran.Comment toucher et maintenir un nœud dans Swift?

Je veux que cela fonctionne lorsque l'utilisateur touche et maintient un nœud spécifique. Toute aide est appréciée! Mon code est dans une image ci-dessous.

Merci! The Code

+0

Par "nœud", voulez-vous dire "SKNode" ou un autre nœud? – Sweeper

+0

@Sweeper je veux dire SKNode – Balaach

Répondre

3

Puisque vous savez déjà comment faire le geste le reste est facile:

Tout ce que nous allons faire est de prendre le point de la vue, le convertir en coordonnées scène, et saisir 1/all noeud (s) de la scène.

@IBAction func TELE(_ gestureRecognizer : UILongPressGestureRecognizer) { 

    if gestureRecognizer.state == .began{ 
     var touchPoint = gestureRecognizer.location(in: view) 
     var touchPointInScene = view.scene.convertPoint(fromView:touchPoint) 

     //use atPoint for the deepest node, node(:at) for all nodes) 
     var node = view.scene.atPoint(touchPointInScene) 
     var nodes = view.scene.nodes(at:touchPointInScene) 

    } 
} 
+0

Alors, est-ce la fonction tactile et maintenez? ou est-ce la fonction qui va transformer le noeud en vue de la scène? Aurai-je encore besoin d'utiliser mon code gestuel que j'ai fourni ci-dessus? – Balaach

+0

Ne savez-vous pas comment fonctionnent les gestes? Vous devriez déjà faire cela, je viens de remplir la viande et les pommes de terre pour vous. – Knight0fDragon

+0

btw @IBAction était une force d'habitude, vous n'en avez besoin que si vous envisagez d'utiliser le constructeur d'interface pour configurer votre geste – Knight0fDragon