android - studio - ¿Cómo funcionará TouchDragged en libgdx?
libgdx ubuntu (2)
La computadora no sabe eso. O al menos la interfaz no le dirá esta información. Se parece a esto:
public boolean touchDragged(int screenX, int screenY, int pointer);
Es casi lo mismo que touchdown:
public boolean touchDown(int screenX, int screenY, int pointer, int button);
Después de que touchDown
un evento touchDown
, solo touchDragged
eventos touchDragged
(para el mismo puntero) hasta que se touchUp
un evento touchUp
. Si desea saber la dirección en que se movió el puntero, debe calcularlo usted mismo calculando el delta (diferencia) entre el último punto de contacto y el actual. Eso podría verse así:
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;
}
Actualmente estoy aprendiendo programación de juegos libgdx, ahora he aprendido a usar touchdown pero no tengo idea de cómo usar TouchDragged. ¿Cómo sabrá la computadora en qué dirección se arrastra el dedo (si el usuario ha arrastrado hacia la izquierda o hacia la derecha)
El método de arrastrar y soltar se llama cada cuadro que cambia la posición de contacto. El método de tocar hacia abajo se invoca cada vez que toca la pantalla hacia abajo y retoca cuando lo suelta.
LibGDX: desliza hacia arriba o desliza hacia la derecha, etc.
Esto puede ayudarte un poco.