Noticias

Se ha publicado un nuevo servicio, el Portal de Juegos Online

Comunidad Game Maker

Bienvenid@ a la comunidad hispana de Game Maker. Nuestro objetivo es crear videojuegos y dar soporte en castellano de GM. Para mejorar nuestro servicio hemos implantado, como adicion al reglamento general, algunas normas especificas en los subforos más comunes. ¡No olvides informarte antes de participar!.

Autor Tema: Ayuda Juego RPG por turnos  (Leído 62 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado xStarLordx

  • Visitante
  • *
  • Puntos: 6
  • Mensajes: 4
    • Ver Perfil
en: Septiembre 19, 2019, 03:25:50 am
Hola. hace tiempo que estoy haciendo un RPG por turnos pero estoy trabado en la parte de hacer que el jugador camine hacia el enemigo ataque y luego de que termine la animacion de ataque vuelva a su posicion inicial. E tratado diferentes metodos pero ninguno me funciona ¿alguien sabe como hacerlo ?

 


No Tienes Permisos Para Dar Puntos
point 0 Puntos

Este tema no recibió puntos.


Desconectado 3dgeminis

Respuesta #1 en: Ayer a las 04:17:06 am
Guarda la posicion inicial en un par de variables (poisicion_x=x , posicion_y=y) y muevelo a esas coordenadas cuando termine de atacar.
Una maquina de estados tambien te ayudaria para planear el comportamiento del objeto y saber que hacer en cada momento.

 


Desconectado xStarLordx

  • Visitante
  • *
  • Puntos: 6
  • Mensajes: 4
    • Ver Perfil
Respuesta #2 en: Hoy a las 03:25:55 am
Lo tengo  asi:

///Ataque
switch (strState)
{
 case "fight":
 //El jugador camina
  numVX = 3;
  sprite_index = sprTomWalk;
 

// cuando coliciona con el enemigo se detiene y cambia a la animacion de ataque
if place_meeting(x+12,y,objEnemigo)
 {numVX = 0

  sprite_index = sprTomAtack;
   }
//detectar cuando termina la animacion cambiar a esta back
if image_index = image_number -1{strState = "back"}
  break;
 
  case "back":
   //caminar hacia atras
    numVX = -3;
    sprite_index = sprTomWalk;   
    //cuaando choca con el objBlock se detiene y cambia a estado idle
    if place_meeting(x-5,y,objBlock)
    {numVX = 0
     strState = "idle";
     break;
}
}

cuando el jugador coliciona con el enemigo cambia a la animacion de ataque pero por alguna razon la animacion se repite  un monton de veces en vez de cambiar al estado back