Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Temas - Tekkanh2017

1
Preguntas y respuestas / Problema cambio de Sprite
Junio 24, 2017, 01:33:37 AM
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!
2
Cordial saludo!

Tengo una duda, quiero saber si hay alguna forma de guardar el progreso de Juegos creados con Game Maker Studio en la nube de Google  Play Ganes, He estado investigando pero no encuentro solución

Agradecería una respuesta
Saludos