Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: cesar120 en Mayo 11, 2014, 06:03:47 PM

Título: como crees que debo hacer esto. ayuda por favor
Publicado por: cesar120 en Mayo 11, 2014, 06:03:47 PM
hola, gracias por tu atención. necesito hacer que que una nave (object1) explote cuando reciba dos disparo(object6) me explico con el primer disparo cambie de color rojo y se mantega y con el segundo disparo que reciba explote y haga una explosión con animación, osea con fuego, humo etc. y que luego se destruya, es decir que explote la nave y se desaparezca.

por favor ayúdenme se que es fácil para ustedes pero yo no se tanto como ustedes, espero su respuesta lo mas pronto posible y gracias de ante mano.
Título: Re:como crees que debo hacer esto. ayuda por favor
Publicado por: blackhack2000 en Mayo 11, 2014, 06:31:19 PM
Hola! mira, a la nave, creale una variable "vida".. y ponle un valor de 2.
a la bala, en el evento de colision con la nave, ponle este codigo:

other.vida-=1                   // le quita vida a la nave
if other.vida < 1                // si la nave no tiene vida
{
with other                            // la nave ejecuta la siguiente acción:
{
effect_create_above(ef_explosion,x,y,1,c_red)  // crea una explosion
instance_destroy()                                       // destruirse
}
}
si necesitas un ejemplo o más ayuda, hablame:
https://www.facebook.com/carlosomar.gamezgil
Título: Re:como crees que debo hacer esto. ayuda por favor
Publicado por: learsi en Mayo 11, 2014, 06:37:56 PM
Hola, podría ser algo así:

en el collision with object1 del object6 (bala), pon esto:

other.own_health-=1;
instance_destroy();


en el create del object1:

own_health=2;

en el step del object1:


if own_health=1
image_blend(c_red);
if own_health=0
{
     instance_create(x,y,obj_explosion); //creas un objeto explosión con una animación y desde ahí lo llamas.
     instance_destroy();
}



Lo he hecho sin probar, así que es posible que haya algo mal, pero prueba a ver si te funciona.

Título: Re:como crees que debo hacer esto. ayuda por favor
Publicado por: Johann en Mayo 12, 2014, 10:49:13 PM
De que versión de GM se trata?
Por favor learsi pon el icono de la versión de GM que usas junto al titulo del primer mensaje para que te puedan responder.
Título: Re:como crees que debo hacer esto. ayuda por favor
Publicado por: cesar120 en Mayo 12, 2014, 11:28:37 PM
hey amigos gracias por responder pero no he podido hacerlo me da un error. ayúdenme por favor
y johann no entendí a que te refieres

ayúdenme por favor
Título: Re:como crees que debo hacer esto. ayuda por favor
Publicado por: learsi en Mayo 13, 2014, 12:46:39 AM
Cita de: Johann en Mayo 12, 2014, 10:49:13 PM
De que versión de GM se trata?
Por favor learsi pon el icono de la versión de GM que usas junto al titulo del primer mensaje para que te puedan responder.

Hola Johann, no fui yo quien abrió el mensaje :P

cesar120, sería de gran ayuda si pusieras el error. De todas formas, he probado el código que te puse, y el único error que hay es que en vez de image_blend(c_red); sería image_blend = c_red; se me coló jeje

Cuando te pase algo así, lo mejor es mirar en la ayuda de Game maker, en el índice, y ahí te salen todos los comandos.
Título: Re:como crees que debo hacer esto. ayuda por favor
Publicado por: Johann en Mayo 13, 2014, 03:32:37 AM
sorry XD
me dirijía a cesar120 y me refiero al reglamento: http://www.comunidadgm.org/preguntas-y-respuestas/preguntas-y-respuestas-que-es-y-como-funciona-leer-antes-de-postear/

Citar
Especificad la versión de GM que utilizáis poniendo el icono de GM en el título del tema: Un mismo problema puede ser resuelto de diferentes maneras dependiendo de la versión de GM que utilicéis, asi que no olvidéis especificar que versión estáis usando

blackhack2000 y learsi no deben responder a temas que no cumplan el reglamento, si ven un tema que no lo cumple hacen clic en el botón "reportar al moderador"
Título: Re:como crees que debo hacer esto. ayuda por favor
Publicado por: cesar120 en Mayo 13, 2014, 01:16:33 PM
hey learsi gracias por tu ayuda, puse el codigo que me dijiste y me sigue apareciendo un error creo que es porque no se como como asignarle el objecto animación, de todos modos este es el codigo que me aparece.


___________________________________________
_____________________________________
############################################################################################
FATAL ERROR in
action number 1
of  Step Eventobject1
for object object6:

Push :: Execution Error - Variable Get -2.own_health(100000, -1)
at gml_Object_object6_Collision_2 (line 1) - other.own_health-=1;
############################################################################################
Título: Re:como crees que debo hacer esto. ayuda por favor
Publicado por: learsi en Mayo 13, 2014, 10:11:56 PM
Sin ver el código entero, es posible que falle si no has inicializado la variable own_health a 2 en el create del object1.
Título: Re:como crees que debo hacer esto. ayuda por favor
Publicado por: cesar120 en Mayo 14, 2014, 04:26:35 PM
hey learsi gracias mi hermano me funciono me salvaste la vida, si el juego me da resultado seras recompensado. gracias
Título: Re:como crees que debo hacer esto. ayuda por favor
Publicado por: rogerskate en Mayo 15, 2014, 07:59:35 PM
Hola, pues yo haría otra cosa distinta fíjate en el algoritmo, para que luego lo traduzcas como mas te apetezca:

*La salud del objeto es igual a 2 inmediatamente cuando se cree.
*Cuando la bala colisione automáticamente la salud del objeto decrementara un menos uno (valor relativo).
*Si la salud del objeto es igual a la mitad de la salud inicial o a uno (1), cambia de color a rojo.
*Mientras el objeto tenga la salud mayor a 0 puede ser dañado y/o eliminado.

Ahora podremos hacer el código.


//Object1: Create
  global.salud = 2;

//Object6: Collision (Object1)
  global.salud += -1;
  instance_destroy();

//Object1: Step
  If global.salud = 1
     {image_blend= c_red;}
  If global.salud = <=0
     {instance_destroy();}

Todo esto es sencillito, no es muy complidado ni es mucho código, espero que hayas aprendido y poder ayudarte ;)