2017-09-28 1 views
-2

Ich suche eine elegante Lösung, um eine Schaltfläche in Spritekit zu erstellen, die bei Berührung gräulich wird und wieder normal geht, wenn Sie Ihren Finger herausziehen. Ich habe eine Methode ausprobiert, die touchesBegan, touchesMoved und touchesEnded verwendet, die jedoch erfordert, dass ich jeden Button einzeln und namentlich anrufe. Ich habe mich gefragt, ob es eine andere Lösung gibt, bei der ich nicht jeden Knoten einzeln anrufen muss. Vielen Dank.Elegante Tasten in Spritekit

+1

Bitte sprechen Sie nicht über Ihren Code. _Show_ Ihr Code. – matt

Antwort

0

Unterklasse SKSpriteNode. SkNode entspricht UIResponder.

In der Unterklasse Satz userInteractionEnabled = true

in der Unterklasse alle berührt Griff.

+0

Danke für die schnelle Antwort! Gibt es dazu eine Schritt-für-Schritt-Anleitung, da ich mir nicht sicher bin, wie SkNode auf UIResponder reagieren soll. – Bruce

+0

Ein Beantworter implementiert die BerührungenBegan (_: mit :), touchesMoved (_: mit :), touchesEnded (_: mit :) und touchesCancelled (_: mit :) -Methoden. Einfach SKSpriteNode ableiten und diese Methoden in der Unterklasse überschreiben. – TomerBu

+0

Ich habe eine Klasse geschrieben, aber es scheint nicht zu funktionieren, nicht sicher, was ich falsch mache: Klasse SKButton: SKSpriteNode { override func touchesBegan (_ berührt: Set , mit Ereignis: UIEvent?) { self alpha = 0,5 } Überschreibung func touchesEnded (_ berührt: set , mit Ereignis: UIEvent) { self.alpha = 1,0 } } – Bruce