Erkennen, wenn UIGestureRecognizer oben, unten, links und rechts ist Cocos2d
Ich habe eine CCSprite, dass ich mich bewegen will, um mit gesten. Problem ist, ich bin komplett neu in Cocos2D. Ich will, dass mein sprite zum ausführen einer Aktion, wenn die Geste, ein weiteres, wenn Geste nach unten, eine weitere Aktion aus, wenn der Geste rechts-und dasselbe für Links. Kann mir jemand zeigen in die richtige Richtung?
Dank!
InformationsquelleAutor der Frage Magnus | 2011-09-14
Du musst angemeldet sein, um einen Kommentar abzugeben.
Anscheinend jeder UISwipeGestureRecognizer kann nur erkennen das streichen in der Richtung gegeben. Obwohl die Richtung, die flags werden könnte ODER-verknüpft die UISwipeGestureRecognizer ignoriert die zusätzlichen flags.
Die Lösung ist das hinzufügen einer UISwipeGestureRecognizer für jede Richtung, die Sie wollen, dass die swipe-Geste erkannt zu werden, und stellen jede für die Erkennung der Richtung entsprechend entweder oben, unten, Links und rechts. Wenn Sie testen möchten, für ein swipe in jede Richtung, die Sie haben, um vier UISwipeGestureRecognizers.
Es ist irgendwie seltsam, aber das ist der einzige Weg, es funktionierte für mich.
InformationsquelleAutor der Antwort LearnCocos2D
InformationsquelleAutor der Antwort DevGom
Verwenden UIPanGestureRecogizer und entdecken Sie die swipe-Richtungen, die Sie interessieren. finden Sie die UIPanGestureRecognizer-Dokumentation für details. -rrh
InformationsquelleAutor der Antwort Richie Hyatt
Den defaut Richtung ist UISwipeGestureRecognizerDirectionright. die verschiedenen Richtungen auch angegeben werden können, wie :
///
Aber wenn Sie wollen, um jeden einzigen Richtung ,wie etwa, dass:
die Funktion handleSwipeGestureLeft wird aufgerufen werden, wenn Sie streichen Sie nach Links,und handleSwipeGestureRight wil aufgerufen werden, wenn Sie streichen Sie nach rechts
InformationsquelleAutor der Antwort roundsun
Hinzufügen eines UISwipeGestureRecognizer für jede Achse (horizontal und vertikal):
InformationsquelleAutor der Antwort Damien Romito
Kann auch ein switch statt den ganzen if-Anweisungen
InformationsquelleAutor der Antwort Zigglzworth
Obwohl es viele gute Infos hier, konnte ich nicht finden, eine schnelle Antwort, dass hatte Sie alle.
Wenn Sie wollen, um zu differenzieren, ob ein streichen mit dem Finger ist
left
oderright
oderup
oderdown
, müssen Sie erstellen eine neueUISwipeGestureRecognizer
für jede Richtung.Jedoch! Das ist nicht so schlimm, da kann man route jedes Ihrer Geste Merkmale auf den gleichen Selektor, können, dann verwenden Sie eine switch-Anweisung, wie man erwarten könnte.
Ersten, hinzufügen Geste Merkmale für jede Richtung und route Sie auf den gleichen Selektor:
Zweiten, unterscheiden zwischen den Anweisungen, die mit einer switch-Anweisung:
InformationsquelleAutor der Antwort kgaidis