- tap: użytkownik dotyka ekran i podnosi palec ponownie. Palec nie może być przesunięty poza określony obszar wokół miejsca początkowego dotknięcia. Wielokrotne dotknięcie zostanie zarejestrowane jeśli użytkownik dotknie ekran kilka razy w określonym przedziale czasowym.
- pan: użytkownik przesuwa palec po ekranie. Detektor udostępnia współrzędne dotknięcia ekranu jak również odległość (deltę) przesunięcia między aktualnym a poprzednim miejscem dotknięcia. Przydatne np. do implementacji przesuwania kamery w widoku 3D.
- fling: Użytkownik przesuwa palec po ekranie i podnosi go.
- zoom: użytkownik kładzie dwa palce na ekranie i przesuwa je względem siebie. Detektor udostępnia początkowy i bieżący dystans między palcami w pixel-ach. Przydatne np. do implementacji powiększania/zmniejszania.
- pinch: podobne do poprzedniego - detektor udostępnia początkowe i bieżące położenie palców (nie odległość a położenie). Przydatne do implementacji powiększania/zmniejszania a w szczególności obracania
Aby obsłużyć detektor należy zaimplementować odpowiedni GestureListener i przekazać jego interfejs do konstruktora detektora.
public class MyGestureListener implements GestureListener { @Override public boolean touchDown (int x, int y, int pointer) { return false; } @Override public boolean tap (int x, int y, int count) { return false; } @Override public boolean longPress (int x, int y) { return false; } @Override public boolean fling (float velocityX, float velocityY) { return false; } @Override public boolean pan (int x, int y, int deltaX, int deltaY) { return false; } @Override public boolean zoom (float originalDistance, float currentDistance) { return false; } @Override public boolean pinch (Vector2 initialFirstPointer, Vector2 initialSecondPointer, Vector2 firstPointer, Vector2 secondPointer) { return false; } }
Gdx.input.setInputProcessor(new GestureDetector(new MyGestureListener()));
Podobnie jak w przypadku zdarzeń 'normalnego' InputProcessor-a obsługa zdarzeń następuje tuż przed wywołaniem ApplicationListener.render().
GestureDetector posiada również drugi konstruktor umożliwiający przekazanie dodatkowych parametrów - patrz JavaDocs.
Brak komentarzy:
Prześlij komentarz