Hola gente! Un saludo
Quisiera quitarles un poco de su tiempo,  estoy realizando  un juego de plataforma con Game Maker,  pero al parecer tengo un problema con el cambio de sprites, cuando se realiza el salto todo muy bien y no hay problema pero cuando quiero realizar el cambio de sprite a correr o caminar esta el problema, estoy siguiendo un tuto, pues soy novato en el tema, aunque ya con un poco de conocimiento.
El evento create esta asi:
///Variables
image_speed = 1

//Variables de Movimiento /Numericas

intVY      = 0;
intVX      = 0;
intMove    = 0;
intMultiplicador = 1.0;
intVYMax = 9   * intMultiplicador;
intVXMax = 6.5 * intMultiplicador;
intJumpHeight = 8 * intMultiplicador;
intGravityNorm = 0.5 *intMultiplicador;
intGroundAcc = 0.5 *intMultiplicador
intGroundFricc = 1.9 * intMultiplicador
intAirAcc      = 0.75 *intMultiplicador
intAirFricc    =  0.1 *intMultiplicador

en el evento step tengo dos piezas de codigo:

el primero:
///Desplazamiento

var keyLeft, keyRight, keyJump, keyJumpRelease;

keyLeft = -keyboard_check (vk_left)
keyRight = keyboard_check (vk_right)

keyJump  = keyboard_check_pressed(vk_space)
keyJumpRelease = keyboard_check_released (vk_space)

//Comprobacion de Colisiones
intColLeft  =   place_meeting(x-1, y, obj_bloque);
intColRight  = place_meeting(x+1,y,obj_bloque);
bolGround = (place_meeting (x,y+1,obj_bloque));

intMove = keyLeft + keyRight;

//Definir aceleracion y friccion en funcion del medio

if (!bolGround)
{
intTempAcc = intAirAcc;
intTempFricc = intAirFricc;
}
else
{
intTempAcc = intGroundAcc;
intTempFricc = intGroundFricc;
}


//velocidad horizontal
if (intMove != 0) intVX = scr_Approach(intVX, intVXMax *intMove, intTempAcc);
else intVX = scr_Approach(intVX, intVXMax *intMove, intTempFricc);

//velocidad vertical
if (!bolGround)
{
intVY  = scr_Approach (intVY, intVYMax, intGravityNorm); // caida libre
}


//Salto

if (keyJump && bolGround) intVY = -intVYMax;

//Colision Horizontal
repeat(abs(intVX))
{
  if (!place_meeting(x+ intVX, y,obj_bloque))
  {
   x += intVX
  }
  else
  {
  intVX = 0
  break;
  }
}

//Colision vertical
repeat (abs(intVY))
{
if (place_meeting(x, y + intVY, obj_bloque))
{
   intVY = 0;
   break
}
else
{y += intVY}
}


EL SEGUNDO:


///Animaciones

///Refeljo del personaje
if(intMove) != 0 image_xscale = intMove

//Cambio de Sprite
if (!bolGround)
{
sprite_index = spr_DnVj
}
else
{ sprite_index = spr_DnVs
   }
if intVX != 0 && (bolGround)
{
sprite_index = spr_DnVr
}

EL PROBLEMA RADICA EN:

if (intVX !=0)  sprite_index = spr_Caminar


no me salta ningún error, pero a la hora de realizar la accion de caminar si me muestra el sprite pero solamente la primera subimagen, no muestra el resto de subimagenes, crea el desplazamiento pero solamente la primera subimagen, mire en las variables y alli image_speed  esta en un valor 1, pero sin embargo no da solucion.

Mire el punto de origen de cada sprite, y del bloque pero aun asi no me da solucion.

A lo mejor no sea algo tan complicado pero si pudieran ayudarme con este problema y poder seguir  les estaria enteramente agradecido.
Un saludo y Buen dia!

Mira, te dare el mejor consejo que puedo darte desde lo mas profundo de mi corazón, el montydrake tiene muy buenos tutos y es carismatico, sin embargo su serie de tutos sobre plataforma tienes muchos errores, y ese que te encontraste no es sino uno de ellos, mas adelante hay mas, por lo cual te recomiendo usar otros tutos que sean mas simples de entender y tengan una curva de aprendizaje baja para que puedas mejorar yo te recomiendo ver https://www.youtube.com/watch?v=laq930_oewU
el tutorial de hector de escueladevideojuegos me ayudo mucho cuando comencé.
"El objetivo claro de los videojuegos es entretener"


Shigeru Miyamoto

Acabo de probar, teniendo que buscar en youtube el tutorial para poder hacer el scr_approach, y me funciona. Me muevo a izquierda y derecha, me quedo quieto, salto...hago todo y la imagen del sprite sigue siendo la fijada en el Create Event.

Te adjunto el proyecto y lo miras. He dividido entre 2 la velocidad del salto y disminuido la velocidad del sprite porque no tenían ni puto sentido. Y aunque te funcione y consigas arreglar tu código, haz caso al compañero rpgamer97 porque el tutorial que estás usando tiene las variables menos intuitivas que he visto en mi vida, amén de complicarse la vida. Seguramente sea yo el más tonto de los "programadores" que he conocido, pero a ese código le sobran muuuchas líneas.