2012-04-08 17 views
3

Gibt es ein Äquivalent in libGdx (in Android) wie das Touchdown-Ereignis - also, wenn ein Benutzer den Bildschirm berührt (und den Finger kontinuierlich nach unten hält), d. Touchdown-Methode?Touchdown gehalten libgdx

Antwort

8

Sie können GestureDetector verwenden. Es implementiert InputAdapter, so dass Sie es anstelle von Ihrem InputAdapter oder zusammen mit Ihrem InputAdapter mit InputMultiplexer verwenden können.

Sie müssen eine GestureListener zur Verfügung stellen. GestureDetector ruft die Methoden von GestureListener auf, wenn er unterstützte Gesten erkennt. Diese Methoden und Gesten sind:

public boolean touchDown (int x, int y, int pointer); 
public boolean tap (int x, int y, int count); 
public boolean longPress (int x, int y); 
public boolean fling (float velocityX, float velocityY); 
public boolean pan (int x, int y, int deltaX, int deltaY); 
public boolean zoom (float originalDistance, float currentDistance); 
public boolean pinch (Vector2 initialFirstPointer, Vector2 initialSecondPointer, 
         Vector2 firstPointer, Vector2 secondPointer); 

Sie GestureAdapter erweitern können und überschreiben Sie die Methode, die Sie interessiert sind in Ihrem Fall, dass Sie longPress Methode überschreiben.. Sie können auch longPressDuration als Parameter für den Konstruktor angeben.

+0

ausgezeichnet funktioniert ein Charme !!! – user1320651

+1

Ich bin froh. Vergiss nicht, die Antworten zu akzeptieren, die dir geholfen haben;) – Ludevik

+1

finde es immer noch etwas funky, den GestureAdapter zu erweitern, ein Noobie zu sein, würdest du ein Beispiel dafür schreiben können, wie ich das richtig mache, bekomme ich merkwürdige Ergebnisse! Ich möchte ein Sprite während der langen Druckdauer skalieren und es fällt dann auf die ursprüngliche Größe zurück, nachdem die Druckmaschine freigegeben wurde. – user1320651

Verwandte Themen