Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: Vector en Noviembre 30, 2011, 12:34:33 AM

Título: Segundos de inmunidad al ser golpeado
Publicado por: Vector en Noviembre 30, 2011, 12:34:33 AM
Tengo una idea pero me gustar?a que fuera sin cambiar de objeto...
El tema es que cuando el enemigo choca a mi personaje, ?ste ?ltimo se ve herido con un sprite de transparencia. Ah? es donde necesito que tenga unos segundos de inmunidad para que solo le quite un punto de de vida y no 2 o 3, ya que el enemigo transpasa al personaje...


   Saludos a todos y espero sus respuestas.....
Título: Re: Segundos de inmunidad al ser golpeado
Publicado por: Silver_light en Noviembre 30, 2011, 12:41:18 AM
Emm.. puedes utilizar una variable booleana que verifique si ya ha sido golpeado o no.
As? entonces la vuelves verdadera, le quita 1 de vida y no volver? a quitarle puesto que solo se activa cuando no ha sido golpeado.
Luego vuelves a hacer la variable falsa para que pase el efecto de inmunidad, para ello puedes utilizar una alarma.
Por ejemplo:

Evento colision:
[gml]
if (!golpeado) //si no ha sido golpeado
{
danio -= 1; //hace da?o en 1
golpeado = true; //establece que ha sido golpeado
alarm[0] = 30*5; //pierde la inmunidad a los 5 segundo aprox.
}
[/gml]
Evento alarm[0]:
[gml]
golpeado = false;
[/gml]

Saludos!
Nyan! :)
Título: Re: Segundos de inmunidad al ser golpeado
Publicado por: Vector en Noviembre 30, 2011, 12:51:08 AM
 :-[Gracias silver_light pero es algo confuso. Quiz? un engine vendr?a bien.

       
Título: Re: Segundos de inmunidad al ser golpeado
Publicado por: Silver_light en Noviembre 30, 2011, 01:04:27 AM
Ha... disculpa, un error mio...  :-[
He cambiado "danio" por "lives"...

El c?digo quedar?a:

Evento colision:
[gml]
if (!golpeado) //si no ha sido golpeado
{
lives -= 1; //hace da?o en 1. Que es lo mismo quita 1 de vida
golpeado = true; //establece que ha sido golpeado
alarm[0] = 30*5; //pierde la inmunidad a los 5 segundo aprox.
}[/gml]
Evento alarm[0]:
[gml]golpeado = false;[/gml]

Te adjunto un ejemplo, el ?nico inconveniente es que tengo la version 8.0 de Game Maker... La verdad no s? si llegue a tener alguna incompatibilidad =/
Título: Re: Segundos de inmunidad al ser golpeado
Publicado por: Vector en Noviembre 30, 2011, 03:36:55 AM
Gracias. No pude abrir el archivo pero supongo que es tal cual el c?digo

     Saludos Silver y tema cerrado...