hola tengo un problema con mi código gml :
#region desplazamiento
#region desplazamiento
var hor = keyboard_check(vk_right) - keyboard_check(vk_left);
if (hor != 0) {
if (place_free(x +hor * 2, y))
x += hor *2;
image_xscale = hor;
sprite_index = spr_player_caminar;
accion = "caminar"
} else{
sprite_index = spr_player_descanso }
accion = "descanso"
#endregion
#region salto
if (keyboard_check_pressed(vk_space)) && collision_rectangle(x-8,y,x+8,y+1,obj_wall,false,false) {
vspeed = -8;
} else if (vspeed < 0) {
var _celling = collision_rectangle(x-8,y-48,x+8,y-48+vspeed,obj_wall,false,false);
if (_celling) {
y = _celling.y + _celling.sprite_height + 48;
vspeed = 0;
}
}
#endregion
#region disparo
frecuencia -= 1;
if (keyboard_check(ord("A")) && frecuencia <= 0){
var _shot = instance_create_layer(x +16 * image_xscale, y -15, "Instances", obj_shot);
_shot.image_xscale = image_xscale;
_shot.hspeed *= image_xscale;
frecuencia = 30;
sprite_index = spr_player_ataque;
accion = "ataque"
}
#endregion
el problema es el siguiente: o se muestra la animacion ( spr_player_ataque)
es como si la mostrara por un frame y luego volviera a (spr_player_descanso)
lo que genera que no se vea la animacion
me podrian ayudar