If that's true, and the sprite is shown as animated in the sprite's preview, then I would have to say something somewhere else is affecting the animation. From the code you posted, it should operate fine.
Here is the entire code:
if (global.pause) exit;
///Get the player's input
key_right = keyboard_check(vk_right);
key_left = -keyboard_check(vk_left);
key_jump = keyboard_check_pressed(vk_space);
//React to inputs
move = key_left + key_right
hsp = move * movespeed;
if (vsp < 10) vsp += grav;
if (place_meeting(x,y+1,obj_ground))
{
vsp = key_jump * -jumpspeed
}
if (place_meeting(x,y+1,obj_dirt))
{
vsp = key_jump * -jumpspeed
}
//Horizontal Collision
if (place_meeting(x+hsp,y,obj_ground))
{
while(!place_meeting(x+sign(hsp),y,obj_ground))
{
x += sign(hsp);
}
hsp = 0;
}
//Horizontal Collision
if (place_meeting(x+hsp,y,obj_dirt))
{
while(!place_meeting(x+sign(hsp),y,obj_dirt))
{
x += sign(hsp);
}
hsp = 0;
}
//Horizontal Collision
if (place_meeting(x+hsp,y,obj_fake_sky))
{
while(!place_meeting(x+sign(hsp),y,obj_fake_sky))
{
x += sign(hsp);
}
hsp = 0;
}
//Horizontal Collision
if (place_meeting(x+hsp,y,obj_barrier))
{
while(!place_meeting(x+sign(hsp),y,obj_barrier))
{
x += sign(hsp);
}
hsp = 0;
}
x += hsp;
//Vertical Collision
if (place_meeting(x,y+vsp,obj_ground))
{
while(!place_meeting(x,y+sign(vsp),obj_ground))
{
y += sign(vsp);
}
vsp = 0;
}
//Vertical Collision
if (place_meeting(x,y+vsp,obj_dirt))
{
while(!place_meeting(x,y+sign(vsp),obj_dirt))
{
y += sign(vsp);
}
vsp = 0;
}
//Vertical Collision
if (place_meeting(x,y+vsp,obj_fake_sky))
{
while(!place_meeting(x,y+sign(vsp),obj_fake_sky))
{
y += sign(vsp);
}
vsp = 0;
}
//Vertical Collision
if (place_meeting(x,y+vsp,obj_barrier))
{
while(!place_meeting(x,y+sign(vsp),obj_barrier))
{
y += sign(vsp);
}
vsp = 0;
}
y += vsp;
//Death
if (obj_player_stats.hp <= 0)
{
instance_destroy();
game_restart();
}
if (room = level0)
{
if (place_meeting(x,y,obj_door))
{
room_goto(level2);
}
}
//Animate
if (key_right)
{
sprite_index = spr_player;
image_speed = .5;
}
//Move Left
if (key_left)
{
sprite_index = spr_player_left;
image_speed = .5;
}
//Jump
if (key_jump)
{
sprite_index = spr_player_jump;
image_speed = .5;
}
//Stop Animating
if (!key_left and !key_right and !key_jump)
{
image_speed = 0;
image_index = 0;
}