Hola gente, tengo un código para hacer swipe. Para el que no conoce lo que es swipe significa deslizar el dedo por la pantalla. Cuando yo deslizo el dedo hacia arriba el player salta, y si deslizo el dedo hacia abajo el player se agacha.

El problema es que es con el código que compartiré con ustedes hay como un retardo en hacer la acción, y la verdad es molesto. No es instantáneo como cuando se preciona una tecla.

El código es este

EVENTO CREATE

// Create event to initialize variables
drag_start_x = 0;
drag_start_y = 0;
dragging = false;


EVENTO GLOBAL LEFT BUTON
// Global mouse left
if !dragging
{
drag_start_x = mouse_x;
drag_start_y = mouse_y;
dragging = true;
}


EVENTO GLOBAL LEFT PRESED
// Accion si se hace swipe hacia la izquierda
dragging = false;
var dx = mouse_x - drag_start_x;
var dy = mouse_y - drag_start_y;

if abs(dx) > abs(dy) // Check did we drag more on x or y axis
{
if sign(dx) // If positive we dragged right
{
//Accion si se hace swipe hacia la Derecha
keyboard_key_press(vk_right)
keyboard_key_release(vk_right)
}
else // dx was not positive so we dragged left
{
// Dragged left. Do stuff here...
}
}
else
{
if sign(dy) // Same as above but for vertical direction
{
//Accion si se hace swipe hacia abajo
keyboard_key_press(vk_down)
keyboard_key_release(vk_down)
}
else
//Accion si se hace swipe hacia la arriba
{
keyboard_key_press(vk_up)
keyboard_key_release(vk_up)
}
}

Me parece demaciado codigo para algo que puedes hacer simplemente comparando coordenadas entre el mouse_x/Y y el X,Y del personaje.
Atentamente.-
Elvis Kelley
Mi Manual.
Mi canal de Youtube Youtube click aqui
Video tutoriales Game maker