Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: shaggymon en Octubre 08, 2011, 04:26:53 AM

Título: Problemas con la animacion de muerte de mi personaje
Publicado por: shaggymon en Octubre 08, 2011, 04:26:53 AM
Hola, tengo otra nueva duda xD , como puedo hacer que cuando muera un enemigo o mi personaje principal , que se cambie el sprite al sprite de muerto y luego desaparezca al terminar la animacion?  lo he intentado de varias maneras pero las entidades que le pongo a un objeto se cumplen instantaneamente ,  desaparece el objeto antes de que se vea la animacion y no se ve nada x.x

si alguien conoce alguna manera o tiene algun ejemplo que me pueda ayudar muy agradecido :)
Título: Re: Problemas con la animacion de muerte de mi personaje
Publicado por: dark_servant en Octubre 08, 2011, 06:18:07 AM
prueba creando un objeto llamado:

obj_muerto

a ese objeto asignale la animacion de morir, y en el evento end animation ponle el d&d drestoy self

ahora cuando se cumplan las condiciones de muerte de tu personaje llamese vidas barra o lo que gustes. ponle un instace_change o con el D&D por la de obj_muerto, pero tambien dependeria si muere en el aire, agua o alguna otra cosa.
Título: Re: Problemas con la animacion de muerte de mi personaje
Publicado por: shaggymon en Octubre 09, 2011, 06:18:51 AM
hice lo que me dijiste, me hice un objeto (obj_dead) y lo configure de la siguiente manera :

[gml]
evento create
image_speed=1
gravity_direction=270
gravity=0.5

evento colision con el piso
hspeed=0;

evento animation end
instance_destroy()
room_restart()
[/gml]

pero la animacion se reproduce demasiado rapido y no empieza en el mismo lugar donde estaba el personaje sino que al lado...


para cuando se muere porque se cayo puse esto:

[gml]//si cae a un hoyo. 
if y > room_height
{
if lives >0
instance_change(obj_dead,1)
{lives-=7; x=xstart; y=ystart; dead=true; alarm[1]=1*room_speed;}
else
if lives <1

instance_destroy()
sleep(1000);room_restart();

}
[/gml]

pero no me muestra la animacion de muerte y me reinicia la room automaticamente. a que se pude deber?

Título: Re: Problemas con la animacion de muerte de mi personaje
Publicado por: MaanuRP en Octubre 09, 2011, 04:31:08 PM
[gml]
//Cuando muera por un enemigo.

//Esto reinicia el room, por lo que tu personaje aparecer? donde apareci? cuando empezo el room, osea que donde lo pusiste para empezar.
//En otras palabras en: x = xstart; y = ystart;
room_restart()

//Si quieres que la animacion se reproduzca mas lenta asignale un numero menor a 1 a:
image_speed = 1



//Cuando cae en un agujero

//Estaba medio desordenado, yo te lo ordene un poco.
if y > room_height
{
if lives > 0
{
  instance_change(obj_dead,1)
}
}
else
{
instance_destroy()
sleep(1000)
room_restart()
}

//Esto no se porque lo pusiste, no veo que funcion cumple, ya que cambia el objeto, por ende no va a servir de nada. Pero tu sabes para que lo pusiste, asi que ponlo donde va, pero no borres nada, asi deberia funcionar.
{lives-=7; x=xstart; y=ystart; dead=true; alarm[1]=1*room_speed;}
[/gml]
Título: Re: Problemas con la animacion de muerte de mi personaje
Publicado por: shaggymon en Octubre 09, 2011, 10:10:47 PM
lo logre hacer?? , pero sigo teniendo un error, mi personaje al caer muere y pierde una vida, pero cuando las pierde por haber colisionado con el enemigo realiza la accion de morir pero la vida no se le resta. x.x

lo trate de solucionar asi:

Evento Colision con el enemigo
[gml]

if dead=false // si personaje esta vivo
{
  if health>0 {health-=1;} // si la energia esta mayor que 0 reducimos 1 punto de energia
  else {dead=true;} // si la energia esta igual o menor que 0 hacemos que muera
}

//Si quieres que el jugador se mueva un poco para atras por las dudas pon:
x = x - 32
//Y lo que debes poner si o si(Que el enemigo se destruya) es:
with other
{
instance_destroy()
}
[/gml]

en este caso mi personaje pierde toda su salud pero no se le restan vidas..

Título: Re: Problemas con la animacion de muerte de mi personaje
Publicado por: MaanuRP en Octubre 09, 2011, 10:34:35 PM
En donde le estas poniendo el {lives -= 1} que le restaria la vida?
Título: Re: Problemas con la animacion de muerte de mi personaje
Publicado por: shaggymon en Octubre 09, 2011, 10:45:20 PM
[gml]
if dead=false // si personaje esta vivo
{
  if health>0 {health-=1;} // si la energia esta mayor que 0 reducimos 1 punto de energia
  else {dead=true;} {lives-=1} // si la energia esta igual o menor que 0 hacemos que muera
}
[/gml]

ahora le pegan 3 veces y se muere .. xD .. estoy un poco confundido, quiero que al chocar con el enemigo pierda 1 de health , y que si llega a chocar y le queda un punto de vida , muera, pero no se como escribirlo..
Título: Re: Problemas con la animacion de muerte de mi personaje
Publicado por: MaanuRP en Octubre 10, 2011, 05:30:10 AM
[gml]
if dead=false
{
if health > 0
{
  health -= 1;
}
else
{
  dead = true;
  lives -= 1;
}
}
[/gml]

Prueba ahi
Título: Re: Problemas con la animacion de muerte de mi personaje
Publicado por: shaggymon en Octubre 11, 2011, 11:29:07 PM
ocurre lo mismo , sera por un asunto de variables? la verdad que me pillo el asunto, seria posible mandarte el editable para ver si lo puedes arreglar?
Título: Re: Problemas con la animacion de muerte de mi personaje
Publicado por: MaanuRP en Octubre 11, 2011, 11:54:14 PM
No te garantizo poder hacerlo, pero mandamelo si quieres :)

PD: Adjuntalo aqui, asi si yo no puedo, cualquier otro podra probar y hacerlo :D
Título: Re: Problemas con la animacion de muerte de mi personaje
Publicado por: shaggymon en Octubre 12, 2011, 05:13:16 AM
ok, muchas gracias  :P lo subi

Título: Re: Problemas con la animacion de muerte de mi personaje
Publicado por: MaanuRP en Octubre 12, 2011, 11:01:42 PM
Vi un par de errores con respecto a las variables health y lives, ya arregle todo creo.

Cuando mueres vuelves al lugar donde empiezas, y cuando pierdes todas las vidas vas al menu.

Hice algunos cambios, no te se decir cuales son exactamente como para que los apliques en lo que ya tienes, asi que te dejo el editable.

Obviamente no toque nada que no tenga que ver con estas variables en tu juego, asi que todo esta perfectamente como estaba antes, de esto no te preocupes :)
Título: Re: Problemas con la animacion de muerte de mi personaje
Publicado por: shaggymon en Octubre 13, 2011, 12:22:04 AM
de verdad no se como darte las gracias , podria ser que cuando necesites sprites me avisas y te los hago .. ? me podrias explicar cuales eran los errores?, porque no gano nada sin entender que fallaba... de verdad muchas gracias??
Título: Re: Problemas con la animacion de muerte de mi personaje
Publicado por: shaggymon en Octubre 13, 2011, 12:31:42 AM
como puedo hacer que al perder las vidas aparezcan todos los enemigos de nuevo?
Título: Re: Problemas con la animacion de muerte de mi personaje
Publicado por: MaanuRP en Octubre 13, 2011, 01:32:10 AM
Voy a poner los objetos en color: Rojo
Voy a poner los eventos en color: Verde




Kamen


"Create"
[gml]
//Guardar las variables (En variables globales) x e y que tiene el objeto cuando empieza.
global.xinicial = x
global.yinicial = y
[/gml]

"Colision --> obj_enemy"
[gml]
//Solo cambie de la linea 7 hasta la linea 18 (Del original que tu dejaste) y las cambie por esto.
if dead=false
{
if health > 0
{
  health -= 1;
}
if health <= 0
{
lives -= 1
}
}
[/gml]

"No more lives": ELIMINADO





obj_dead


"No more lives": AGREGADO
[gml]
//Show information: (Porque esta con D&D, porque el nombre del room no me dejaba ponerlo en code (Pero dejalo asi, asi anda, a menos que lo quieras cambiar, es tu juego, sos libre de cambiarlo, obvio))

//sleep 1000 milliseconds; redrawing the screen: true
//go to room menu with transition effect Fade out and in
[/gml]

"Animation End"
[gml]
health=7;
instance_create(global.xinicial,global.yinicial,Kamen);
Kamen.dead=true;
Kamen.alarm[1]=1*room_speed;
instance_destroy()
[/gml]





obj_deadaltura


"No more lives" AGREGADO
[gml]
//Show information: (Porque esta con D&D, porque el nombre del room no me dejaba ponerlo en code (Pero dejalo asi, asi anda, a menos que lo quieras cambiar, es tu juego, sos libre de cambiarlo, obvio))

//sleep 1000 milliseconds; redrawing the screen: true
//go to room menu with transition effect Fade out and in
[/gml]

"Animation End"
[gml]
health=7;
instance_create(global.xinicial,global.yinicial,Kamen);
Kamen.dead=true;
Kamen.alarm[1]=1*room_speed;
instance_destroy()
[/gml]
Título: Re: Problemas con la animacion de muerte de mi personaje
Publicado por: MaanuRP en Octubre 13, 2011, 01:58:31 AM
Cita de: shaggymon en Octubre 13, 2011, 12:31:42 AM
como puedo hacer que al perder las vidas aparezcan todos los enemigos de nuevo?

Al perder todas las vidas va al menu, por lo que la room se resetea, vuelve a entrar y estaran todos los enemigos.

La verdad que me gusta mucho este juego, le veo futuro!

+1 Karma! y a amigos :)
Título: Re: Problemas con la animacion de muerte de mi personaje
Publicado por: shaggymon en Octubre 13, 2011, 02:47:50 AM
Gracias????  :D 

Pero como lo puedo hacer para que cuando mi personaje perdiera una vida estuvieran todos los enemigos nuevamente , como en megaman ?? , le puse room_restart al obj_dead en el evento animation end pero pasa algo raro xD
Título: Re: Problemas con la animacion de muerte de mi personaje
Publicado por: MaanuRP en Octubre 13, 2011, 03:24:59 AM
Ya esta, te lo dejo en editable asi es mas rapido.

Cree un nuevo objeto que cree las variables health y lives en el menu para que no se cambien dentro del juego. Despues hice que al morir el personaje reaparezca en la room (Guardando la room en la que pasa en una variable global).

Cualquier cosa, abre los dos y mira los cambios, son minimos.
Título: Re: Problemas con la animacion de muerte de mi personaje
Publicado por: shaggymon en Octubre 14, 2011, 05:44:52 AM
ahora si??? muchas gracias de  verdad ??? no encontraba una forma de hacer que funcionara, me costo hartos quebraderos de cabeza porque lo de GML no es lo mio xDD , nuevamente muchas muchas gracias??

ahora tengo una duda xD , para que sirve [gml]global.ultimoroom = room[/gml]

se que las variables globales son persistenes en todas las rooms, pero el resto no lo entiendo muy bien..
Título: Re: Problemas con la animacion de muerte de mi personaje
Publicado por: MaanuRP en Octubre 14, 2011, 06:23:24 AM
No lo aclare bien en el comentario, tienes razon.

Bueno, lo que hace esto es:

- Guardar el nombre de la room actual en la variable global.ultimoroom (Actualizandose cada vez que se entra en una room).

Para que? Para despues, en el evento "Animation End" (De los objetos de muerte), en vez de solo volver al jugar a la posicion inicial (Lo que dejaria a los enemigos destruidos) hace que el personaje se mueva a la misma room (Osea, te "reinicia" la room), para conservar las variables de vida pero el room se reinicie para que los enemigos aparezcan.

Por eso lo unico que cambie fue agregar eso al evento "Room start" del objeto Kamen y modificar el evento "Animation end" de los objetos de muerte por esto:

[gml]
room_goto(room)
health=7;
Kamen.dead=true;
Kamen.alarm[1]=1*room_speed;
instance_destroy()
[/gml]

PD: Si no me equivoco en esta modificacion fue la que agregue otro objeto llamado Asginador_Variables en las que declara health y lives en el menu, para que no se modifiquen por mas que entres en los diferentes niveles.
Título: Re: Problemas con la animacion de muerte de mi personaje (solucionado))
Publicado por: shaggymon en Octubre 14, 2011, 08:50:35 PM
Ahora entendi todo ..  :D
Título: Re: Problemas con la animacion de muerte de mi personaje
Publicado por: MaanuRP en Octubre 14, 2011, 08:58:32 PM
Cita de: shaggymon en Octubre 14, 2011, 08:50:35 PM
Ahora entendi todo ..  :D

Buenisimo :D

Cualquier duda haz un nuevo post con tu nueva duda, voy a estar pendiente de este juego, me gusta mucho, mucha suerte! :D