Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: seed86 en Junio 25, 2014, 03:19:54 AM

Título: Animación cuando caes sobre un objeto
Publicado por: seed86 en Junio 25, 2014, 03:19:54 AM
Hola a todos.
Mi juego es un plataformas 2d y quiero que cuando el personaje salte sobre unas palmeras las hojas produzcan una animación. Esta animación me gustaría que se produjera solo cuando el personaje CAE sobre ella pero con mi código la anumación se produce tambien cuando te encuentras sobre la palmera y saltas.

Este es mi código:
Create
active=1;
anime=0;


Step
//Behavior
if place_meeting(x,y-1,obj_hero_A) {anime=1}
else{active=1}

//SPRITES

if anime=1
{
  if active=1 {sprite_index = spr_palmtree_head}
  else{
  sprite_index=spr_palmtree_head;
  image_index=0;
  }
}
else
{
  sprite_index=spr_palmtree_head;
  image_index=0;
}


Animation End
if (anime = 1 and sprite_index = spr_palmtree_head)
{
     if distance_to_object(obj_hero_A)=1 {active=0}
     anime=0;
}


¿Qué creeis que debería cambiar para que la animación solo ocurriese cuando el protagonista caiga sobre la copa de la palmera?
Doy créditos. Un saludo y muchas gracias.
Título: Re:Animación cuando caes sobre un objeto
Publicado por: 3dgeminis en Junio 25, 2014, 04:36:17 AM
Solo agrega esto al codigo :

//Behavior
if place_meeting(x,y-1,obj_hero_A)   and  obj_hero_A.vspeed>0  {anime=1}
else{active=1}

Supongo que estas usando vspeed para saltar ademas de gravity, vspeed>0 indica que esta cayendo
Título: Re:Animación cuando caes sobre un objeto
Publicado por: ordo_ab_chao en Junio 25, 2014, 04:39:35 AM
creo que solo tienes que agregar algo a behavior
//Behavior
if (place_meeting(x,y-1,obj_hero_A) and obj_hero_A.vspeed>0) {
    anime=1;
}
else{
    active=1;
}

/// me la ha ganado 3dgeminis hehe