Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: fredred156 en Marzo 26, 2020, 11:41:15 PM

Título: Como soluciono problema al saltar
Publicado por: fredred156 en Marzo 26, 2020, 11:41:15 PM
Hola amigos, soy nuevo en game maker studio
tengo un problema al saltar, cuando salto mi personaje salta obvio y cuando presiono las teclas de direccion izquierda y derecha mistras salto y toco el suelo mi sprite se pone en mi sprite
de quedarse quieto y no da su sprite de caminar mientras estoy en el suelo cuando justamente caigo  :'( :'(
//movimiento y salto

var i = keyboard_check(vk_left)
var d = keyboard_check(vk_right)

if i && place_free(x-4,y)
{
direccion=1
x-=4
sprite_index=spr_player_walk
image_speed=0.4
image_xscale=-1
if up ==true
{
sprite_index=spr_player_jump
image_index=0
image_speed=0
image_xscale=-1
}
if fall == true
{
sprite_index=spr_player_jump
image_index=1
image_speed=0
image_xscale=-1
}
}


if d && place_free(x+4,y)
{
direccion=0
x+=4
sprite_index=spr_player_walk
image_speed=0.4
image_xscale=+1
if up ==true
{
sprite_index=spr_player_jump
image_index=0
image_speed=0
image_xscale=+1
}
if fall == true
{
sprite_index=spr_player_jump
image_index=1
image_speed=0
image_xscale=+1
}
}

//salto
if keyboard_check_pressed(vk_up) && not place_free(x,y+1)
{
sprite_index=spr_player_jump
image_index=0
image_speed=0
vspeed=-salto
}
//verificar si salta o no
if vspeed>0
{
fall=true;
}
else
{
fall = false
}
if vspeed<0
{
up=true;
}
else
{
up = false
}

if !keyboard_key
{
if fall == true
{
  if direccion = 0
  {
   sprite_index=spr_player_jump
   image_index=1
   image_speed=0
  }
   if direccion = 1
  {
   sprite_index=spr_player_jump
   image_index=1
   image_speed=0
   image_xscale=-1
  }
}
else
if up == true
{
if direccion = 0
  {
   sprite_index=spr_player_jump
   image_index=0
   image_speed=0
  }
   if direccion = 1
  {
   sprite_index=spr_player_jump
   image_index=0
   image_speed=0
   image_xscale=-1
   }
}
else
{
  if direccion = 0
  {
   sprite_index=spr_player_walk
   image_index=0
   image_speed=0
  }
   if direccion = 1
  {
   sprite_index=spr_player_walk
   image_index=0
   image_speed=0
   image_xscale=-1
   }
}
}

Título: Re:Como soluciono problema al saltar
Publicado por: Black_Cat en Marzo 27, 2020, 11:37:43 AM
es medio imposible adivinar XD
Pero si colocas el código podemos revisarlo y ver donde falla

Título: Re:Como soluciono problema al saltar
Publicado por: BssString en Marzo 28, 2020, 02:11:25 AM
Hola fredred156

En Game Maker cada línea de código se ejecuta una a una en orden, eso quiere decir que no ejecuta la segunda hasta que no haya leido la primera.
Corta el código de movimiento izquierda-derecha y pégalo después de todo el código que nos acabas de mandar.
Eso hará que el código de movimiento se ejecute justo después de caer y así se te actualice el sprite correctamente.

Saludos