CREATE[gml]
prevx = mouse_x
dir_hor = 0[/gml]
STEP[gml]
(if prev_x != mouse_x)
{
dir_hor = sign(prev_x - mouse_x)
prev_x = mouse_x
}
if (dir_hor >= 1 )
sprite_index = spr_dir_izquierda
else
sprite_index = spr_dir_derecha[/gml]
Otra manera de hacerlo, por ejemplo para cambiar el sprite entre 8 direcciones tipo RPG
CREATE[gml]
dir_char = 0[/gml]
STEP[gml]
dir_char = point_direction(x, y, mouse_x, mouse_y) / 360
image_index = image_number * dir_char[/gml]
Para que funcione este ejemplo, el sprite debe contener 8 sumbimágenes (del 0 al 7) ordenadas: 0 = derecha, 1 = 45°, 2 = arriba, 3 = 135°, 4 = izquierda, etc
prevx = mouse_x
dir_hor = 0[/gml]
STEP[gml]
(if prev_x != mouse_x)
{
dir_hor = sign(prev_x - mouse_x)
prev_x = mouse_x
}
if (dir_hor >= 1 )
sprite_index = spr_dir_izquierda
else
sprite_index = spr_dir_derecha[/gml]
Otra manera de hacerlo, por ejemplo para cambiar el sprite entre 8 direcciones tipo RPG
CREATE[gml]
dir_char = 0[/gml]
STEP[gml]
dir_char = point_direction(x, y, mouse_x, mouse_y) / 360
image_index = image_number * dir_char[/gml]
Para que funcione este ejemplo, el sprite debe contener 8 sumbimágenes (del 0 al 7) ordenadas: 0 = derecha, 1 = 45°, 2 = arriba, 3 = 135°, 4 = izquierda, etc