Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: matiascarpello en Marzo 29, 2015, 04:41:19 AM

Título: Ayuda con Swipe
Publicado por: matiascarpello en Marzo 29, 2015, 04:41:19 AM
(http://k46.kn3.net/7/E/1/4/8/C/DB7.png)

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)
}
}
Título: Re:Ayuda con Swipe
Publicado por: elviskelley en Marzo 29, 2015, 04:05:36 PM
Me parece demaciado codigo para algo que puedes hacer simplemente comparando coordenadas entre el mouse_x/Y y el X,Y del personaje.