Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: Rubybrillante2 en Marzo 06, 2011, 06:32:04 PM

Título: ?Como hacer una colision despues de otra?(Solucionado)
Publicado por: Rubybrillante2 en Marzo 06, 2011, 06:32:04 PM
Tengo un peque?o problema con colisiones, el juego que ando desarollando trata sobre un personaje que va pintando casillas neutras de el color de su equipo.
(http://img521.imageshack.us/img521/1888/ejemploxd.png)
cuando el personaje colisiona con la casilla, automaticamente la pinta de su color, pero lo que quiero hacer es que cuando se salga y vuelva a colisionar la casilla roja pintada cambie a otra casilla de un color rojo pero mas fuerte
por ejemplo:

Casilla neutra
(http://img716.imageshack.us/img716/6016/baldosa1.png)
el personaje al colisionar con ella la pinta de rojo(baldosa roja 1)
(http://img832.imageshack.us/img832/1359/baldosared1.png)
luego de irse y volver a pasar por la casilla previamente pintada, cambia a otra de un rojo mas claro (casilla roja 2)
(http://img826.imageshack.us/img826/1374/baldosared2.png)
y al volver a irse y pasar de nuevo otra vez, cambiarla a otra aun mas clara(casilla roja 3)
(http://img806.imageshack.us/img806/4899/baldosared3.png)
Trate de configurar esto en D&D, y ingeniarmelas con sprite index o usando variables, pero me ocurre el mismo problema, el problema es que el personaje al colisionar con la baldosa neutra, la pinta de una vez a casilla roja 3, y supongo que el error ocurre por que al colisionar cambian todas de una vez, pero ?que podria hacer para que se pinte a baldosa roja 1 y espere hasta que vuelva a colisionar para pintarla a baldosa roja 2, y de baldosa roja 2 a baldosa roja 3?
Título: Re: ?Como hacer una colision despues de otra?
Publicado por: Gutic en Marzo 06, 2011, 08:20:23 PM
Buenas, te lo he hecho, pero no est? en isom?trico. Tampoco en D&D, lo he hecho en GML pero he intentado explicarlo lo mejor que he podido. Cualquier duda pregunta :)

Espero que te sea de ayuda.

Un saludo.
Título: Re: ?Como hacer una colision despues de otra?
Publicado por: WillyDeLeon en Marzo 06, 2011, 09:44:59 PM
Se me ocurre colocar un trozo de c?digo como este en todos los objetos casilla1, casilla2, casilla3, etc.)

Por ejemplo en el evento step del objeto casilla1:

si ((colision1_con_personaje == false) y (permiso_para_pintar1 == ture))
{
pintar casilla con color baldosa roja 1;
clision1_con_peronaje := true;
colision2_con_personaje := false;
colision3_con_personaje := false;
permiso_para_pintar1 := false;
}

si ((colision2_con_personaje == false) y (permiso_para_pintar1 == ture))
{
pintar casilla con color baldosa roja 2;
clision1_con_peronaje := true;
colision2_con_personaje := true;
colision3_con_personaje := false;
permiso_para_pintar1 := false;
}

si ((colision3_con_personaje == false) y (permiso_para_pintar1 == ture))
{
pintar casilla con color baldosa roja 2;
clision1_con_peronaje := true;
colision2_con_personaje := true;
colision3_con_personaje := true;
permiso_para_pintar1 := false;
}

Una vez que entres en colision y permanezcas ah?, se pintar? la casilla solo una vez y la variable permiso_para_pintar1 no permitir? que suceda nada m?s. Obviamente cuando la colisi?n sea con otra casilla deberas cambiar la variable permiso_para_pintar1 a "true" para que la pr?xima vez que colisones con casilla1 puedas pintar con el siguiente color.

Bueno este es un ejemplo burdo. Espero que funcione y no haberme equivocado. De todas formas tal vez esto te de una nueva idea.

Sigue adelante!
Título: Re: ?Como hacer una colision despues de otra?
Publicado por: Rubybrillante2 en Marzo 06, 2011, 09:58:15 PM
Tratare de ver si me funciona, puse un ejemplo adjunto de lo que trate de hacer antes, solo que en mi caso cambiare sprites o instancias.
Título: Re: ?Como hacer una colision despues de otra?
Publicado por: Rubybrillante2 en Marzo 10, 2011, 04:49:52 PM
Intente hacerlo con tu codigo, pero cambiando instancias y usando variables, pero no se por que pero no me funciona bien, algunas baldosas neutras cambian a baldosa roja 1, mientras que otras a baldosa roja 2, no se a que se debe el problema, dejo el archivo adjunto.
Título: Re: ?Como hacer una colision despues de otra?
Publicado por: WillyDeLeon en Marzo 11, 2011, 06:49:48 AM
Mi problema es que yo no puedo abrir archivos gmk, yo uso :GM5: Solo puedo abrir archivos gmd. Sorry, creo que voy a tener que instalar  :GM8: solo para ver sus c?digos amigos.
Título: Re: ?Como hacer una colision despues de otra?
Publicado por: Rubybrillante2 en Mayo 11, 2011, 12:32:44 AM
Cita de: Gutic en Marzo 06, 2011, 08:20:23 PM
Buenas, te lo he hecho, pero no est? en isom?trico. Tampoco en D&D, lo he hecho en GML pero he intentado explicarlo lo mejor que he podido. Cualquier duda pregunta :)

Espero que te sea de ayuda.

Un saludo.

adapt? tu codigo y lo cambie para instancias, ya que cada baldosa tiene unas caracteristicas especificas, por eso no usaba imagenes dentro de otra, me fue util tu ejemplo, gracias, mi problema fue resuelto.