Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: TeiBrito en Julio 31, 2015, 02:27:10 PM

Título: Evento para diferentes objetos (Solucionado)
Publicado por: TeiBrito en Julio 31, 2015, 02:27:10 PM
Hola, he buscado por el foro y no he encontrado respuesta que me ayudara. Mi problema es el siguiente:

Tengo este código en Step del player.

if (place_meeting(x-1,y,obj_Enemy))
{
    if (obj_Enemy.x < x-1)
    image_blend=make_color_rgb(0,0,0);
    alarm[0] = 30;
     }
else
     {
     image_blend=make_color_rgb(255,255,255);
     }

es para un parpadeo al colisionar con el objeto Enemy, funciona pero... si quiero que este efecto  salgo al colisionar con otros objetos(enemigos) como podría hacer? porque de esta manera, obviamente, solo parpadea al colisionar con este objeto en particular, si colisiono con cualquier otro enemigo que no sea el obj_Enemy no funciona... no se si me he explicado bien xD soy novato, mil disculpas.

Mi versión es Game Maker Studio.
Título: Re:Evento para diferentes objetos
Publicado por: Yoo en Julio 31, 2015, 03:22:10 PM
PUES una opción sería que en los otros objetos "enemigos" con los que kieras que suceda lo mismo pon en la parte de abajo del objeto(s) en "Parent:" y seleccionas el objeto "obj_Enemy" en tu caso(segun el código)

NOTA: Además revisa este post para informarte más del uso del "parent":

http://www.comunidadgm.org/preguntas-y-respuestas/que-es-un-objeto-parent/

ESPERO QUE TE SIRVA  :D  :D  :D
Título: Re:Evento para diferentes objetos
Publicado por: TeiBrito en Julio 31, 2015, 03:28:55 PM
Gracias por tu respuesta, el problema que tengo con el parent es que al agregarle eventos (al personaje nuevo) me suele dar problemas, imagino que algo no estaré haciendo correctamente... me revisare ese post... Gracias de nuevo.
Título: Re:Evento para diferentes objetos
Publicado por: Yoo en Julio 31, 2015, 04:17:52 PM
¿Cómo qué problemas? ¿Podrías darme un ejemplo?  :D  XD  :D
Título: Re:Evento para diferentes objetos
Publicado por: jodidox en Julio 31, 2015, 10:50:22 PM
if (place_meeting(x-1,y,obj_Enemy))
{
    if (obj_Enemy.x < x-1)
    image_blend=make_color_rgb(0,0,0);
    alarm[0] = 30;
     }
else
     {
     image_blend=make_color_rgb(255,255,255);
     }

Bueno, crea un objecto cualquiera sin sprite... example: obj_colision

Luego cambia el code así:

if (place_meeting(x-1,y,obj_colision))
{
    if (obj_colision.x < x-1)
    image_blend=make_color_rgb(0,0,0);
    alarm[0] = 30;
     }
else
     {
     image_blend=make_color_rgb(255,255,255);
     }

y luego a todos lo enemigos le pones como paren ese objeto, si te arroja error podes poner un sprite al parent un color preferiblemente claro del mismo tamaño que el de los enemigos, y luego en el obj_colision desactivas la casilla visible... Si no me entendiste podría hacerte un ejemplo pero creo que si me hice a entender  XD
Título: Re:Evento para diferentes objetos
Publicado por: penumbra en Julio 31, 2015, 11:12:30 PM
Casi nunca es necesario darle un sprite al objeto padre. Si se usa una función o evento de colisión, GM evaluará dicha colisión considerando el sprite o máscara del objeto hijo, y generalmente esto es lo deseado.
Título: Re:Evento para diferentes objetos
Publicado por: jodidox en Julio 31, 2015, 11:15:47 PM
Cita de: penumbra en Julio 31, 2015, 11:12:30 PM
Casi nunca es necesario darle un sprite al objeto padre. Si se usa una función o evento de colisión, GM evaluará dicha colisión considerando el sprite o máscara del objeto hijo, y generalmente esto es lo deseado.

Gracias por responder, pero solo lo decía porque una vez me pasaba algo igual e hice lo del sprite y funciono. No sé si fue exactamente por haberle puesto el sprite :-[ pero funciono.  XD Aunque tu debes de saber más que yo,  :D
Título: Re:Evento para diferentes objetos
Publicado por: Guacusio en Agosto 01, 2015, 05:39:50 AM
Cuando hablas de tener varios enemigos, ¿te refieres a varios objetos distintos que representan enemigos (y no más de una instancia por objeto), o a varias instancias del mismo objeto enemigo? En el primer caso lo más simple es recurrir a parents mientras que en el segundo tienes que identificar la instancia precisa que toca a tu player, usando por ejemplo instance_place.
Título: Re:Evento para diferentes objetos
Publicado por: TeiBrito en Agosto 01, 2015, 03:48:20 PM
Me funciono perfecto la idea de Jodidox... gracias a todos por las respuestas  :)
Título: Re:Evento para diferentes objetos
Publicado por: jodidox en Agosto 01, 2015, 04:18:33 PM
Cita de: TeiBrito en Agosto 01, 2015, 03:48:20 PM
Me funciono perfecto la idea de Jodidox... gracias a todos por las respuestas  :)

Que bueno que te haya servido  :D cualquier duda más, no dudes en preguntar.  :)