2014-05-19 10 views
6

Ich lerne gerade Libgdx Spiel Programmierung, jetzt habe ich gelernt, wie man TouchDown, aber Iam keine Ahnung, wie man touchDragged.How wird der Computer weiß, in welche Richtung der Finger gezogen wird (ob der Benutzer nach links oder rechts gezogen hat)Wie funktioniert touchDragged in libgdx?

Antwort

11

Der Computer weiß das nicht. Oder zumindest die Schnittstelle wird Ihnen diese Information nicht mitteilen. Es sieht wie folgt aus:

public boolean touchDragged(int screenX, int screenY, int pointer); 

Es ist fast die gleiche wie Landungs:

public boolean touchDown(int screenX, int screenY, int pointer, int button); 

Nach einem touchDown Ereignis passiert, nur touchDragged Ereignisse (für den gleichen Zeiger) auftreten wird, bis ein touchUp Ereignis wird ausgelöst, . Wenn Sie wissen möchten, in welche Richtung sich der Zeiger bewegt hat, müssen Sie ihn selbst berechnen, indem Sie das Delta (Differenz) zwischen dem letzten Berührungspunkt und dem aktuellen Wert berechnen. Das könnte so aussehen:

private Vector2 lastTouch = new Vector2(); 

public boolean touchDown(int screenX, int screenY, int pointer, int button) { 
    lastTouch.set(screenX, screenY); 
} 

public boolean touchDragged(int screenX, int screenY, int pointer) { 
    Vector2 newTouch = new Vector2(screenX, screenY); 
    // delta will now hold the difference between the last and the current touch positions 
    // delta.x > 0 means the touch moved to the right, delta.x < 0 means a move to the left 
    Vector2 delta = newTouch.cpy().sub(lastTouch); 
    lastTouch = newTouch; 
} 
+0

Perfekte Antwort @noone. – Crowni

+0

Sie haben die Rückgabewerte nicht angegeben. Das verwirrt mich am meisten. Was geben diese Methoden zurück? – WeirdElfB0y

0

Die Touch-Drag-Methode heißt jedes Bild, das die Berührungsposition ändert. Die Touchdown-Methode wird jedes Mal aufgerufen, wenn Sie den Bildschirm berühren, und nach dem Loslassen nach oben tippen.

LibGDX - Get Swipe Up or swipe right etc.?

Dies kann Ihnen ein wenig helfen.

Verwandte Themen