Diciembre 11, 2018, 08:29:29 PM Ultima modificación: Diciembre 13, 2018, 01:41:37 AM por JackGA17
Verán mi problema es este: Tengo este código de movimiento para movimientos fluidos de forma vertical, horizontal y diagonal

//Movimiento
Up = keyboard_check(vk_up);
Down = keyboard_check(vk_down);
Left = keyboard_check(vk_left);
Right = keyboard_check(vk_right);

Total_lados = Up + Down + Left + Right;

if (Total_lados > 0 && Up + Down != 2 && Left + Right != 2) {
    Angulo = degtorad((Up*(90) + Left*(180) + Down*(270) + Right*(360)*Down)/Total_lados);
    x += cos(Angulo)*4;
    y -= sin(Angulo)*4;
}


pero no sé como manipular la animación de movimiento del personaje.

Gracias de ante mano para aquellos que me puedan ayudar.
"La perseverancia te hará ganar"

¿A qué te refieres con "la animación" del personaje? Explícate un poco mejor para poderte ayudar.
alaberga regué el café.

BA:STFW&RTFM

Al sprite del personaje le tengo una animación de caminar para cada dirección, pero no sé como usar dichas animaciones en ese código, por mas que pienso para hallar una solución no la encentro
"La perseverancia te hará ganar"

Supondré que la "animación" en cada dirección está dada por sprites diferentes, por lo que podrías hacer esto:
[gml]
///EVENTO CREATE

//Un arreglo con las direcciones ordenadas en contra de las manecillas del reloj.
sprite[0] = spr_derecha;
sprite[1] = spr_derechaArriba;
sprite[2] = spr_arriba;
sprite[3] = spr_izquierdaArriba;
sprite[4] = spr_izquierda;
sprite[5] = spr_izquierdaAbajo;
sprite[6] = spr_abajo;
sprite[7] = spr_derechaAbajo;
[/gml]
Y ahora modificas el código de movimiento así:
[gml]
//Movimiento
var up    = keyboard_check(vk_up);
var down  = keyboard_check(vk_down);
var left  = keyboard_check(vk_left);
var right = keyboard_check(vk_right);

var Hor = right - left;
var Ver = down  - up;

var angle = point_direction(0, 0, Hor, Ver);

sprite_index = sprite[ (angle/ 45) % 8 ];
x += dcos(angle)*4;
y -= dsin(angle)*4;
[/gml]
alaberga regué el café.

BA:STFW&RTFM

#4 Diciembre 12, 2018, 01:42:51 AM Ultima modificación: Diciembre 12, 2018, 01:44:54 AM por JackGA17
Niu lo acabo de probar, pero el personaje se va hacia la derecha solo apenas inicia, ademas que la animación que no ocurre, mira hacia el lado que va pero no hay animación de pasos
"La perseverancia te hará ganar"

#5 Diciembre 12, 2018, 03:27:26 AM Ultima modificación: Diciembre 12, 2018, 10:26:21 PM por NiuWeb
Ah, se me olvidó ese detalle xd. Modifica el código así:
[Gml]
if abs(Hor) or abs(Ver) {
    image_speed = 1;
    sprite_index = sprite[ (angle/ 45) % 8 ];
    x += dcos(angle)*4;
    y -= dsin(angle)*4;
}
else image_speed = 0;
[/Gml]
alaberga regué el café.

BA:STFW&RTFM

Niu, otro problema, ahora el personaje solo se mueve hacia derecha, abajo y abajo-derecha. Cuando pulso arriba o izquierda se queda quieto :(
"La perseverancia te hará ganar"

xdxdxd.
Disculpa, ando en móvil y estoy pasando por alto muchas cosas v':

Edité mi mensaje anterior, así debería servir.
alaberga regué el café.

BA:STFW&RTFM