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
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;
}
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.
- 1. LibGDX 2D-Bild mit touchDragged() Ereignis drehen
- 2. libgdx Touchup und Touchdragged nicht aufgerufen, aber Touchdown ist
- 3. Seltsames Verhalten mit touchDragged
- 4. Libgdx IOS funktioniert nicht?
- 5. Libgdx multiTouch funktioniert nicht
- 6. Libgdx: Imageclicklistener nicht funktioniert
- 7. AndroidStudio libgdx ChangeListener funktioniert nicht
- 8. sprite.SetScale Funktion funktioniert nicht (Libgdx)
- 9. libgdx box2d Reibungsverbindung funktioniert nicht
- 10. FadeIn Action in LibGDX funktioniert nicht richtig
- 11. Sonderzeichen in Libgdx des Textfeld funktionieren nicht
- 12. (Java LibGDX) Wie ändere ich meine Texturen in LibGDX?
- 13. Libgdx, OrthographicCamera funktioniert nicht (Einzoomen, Herauszoomen)
- 14. Java LibGDX BitmapFont setScale Methode funktioniert nicht
- 15. Libgdx Präferenzen funktioniert nicht auf Handy
- 16. Socket funktioniert zu langsam :: java/libgdx
- 17. LibGDX: GrenzenInFrustrum und BoundingBox funktioniert nicht wie erwartet
- 18. libgdx setOrigin und setPosition nicht wie erwartet funktioniert?
- 19. GestureDetector in libgdx
- 20. Wie Voreinstellung Wert einmal in LibGDX initialisieren?
- 21. Wie vergleiche ich LibGDX PolygonShapes?
- 22. LibGDX: Gwt Protokollierung funktioniert nicht in meinem Projekt
- 23. Wie zeichne ich einen BitmapFont in LibGDX?
- 24. Bildschirme in LibGdx entsorgen
- 25. Stream-API in libgdx
- 26. Wie libgdx Preference-Datei zwischen mehreren Android-libgdx-App
- 27. Split-Screen in LibGDX
- 28. Speicherauslastung in LibGdx
- 29. java Themen in libGDX
- 30. Libgdx Zeichenbewegung
Perfekte Antwort @noone. – Crowni
Sie haben die Rückgabewerte nicht angegeben. Das verwirrt mich am meisten. Was geben diese Methoden zurück? – WeirdElfB0y