Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: djboro88 en Agosto 13, 2015, 10:27:39 PM

Título: [SOLUCIONADO] Linea que se ilumina al pasar el tiempo
Publicado por: djboro88 en Agosto 13, 2015, 10:27:39 PM
Hola GAMEMAKER@S !!
He estado pensando en un juego de PC que se llama "Circuits" (no se si lo conoceis).
Este este juego se ilumina una linea y al "chocar" contra los objetos circulares se reproduce el sonido.
Os dejo el gameplay (minuto 4:30) de dicho juego para que veais a que me refiero.

https://www.youtube.com/watch?v=UhtCF-VO8us (https://www.youtube.com/watch?v=UhtCF-VO8us)

¿Sabeis como recrear dicho efecto el de la linea que se ilumina y que al tocar los objetos hagan sonar?

Saludos !!
Título: Re:Linea que se ilumina al pasar el tiempo
Publicado por: Guacusio en Agosto 14, 2015, 06:36:56 AM
Una forma puede ser ésta:

-Crea un objeto línea que dibuje una línea desde la coordenada (x0,y0) en dirección d con velocidad v. Los valores de x0,y0,d y v de la primera línea debes dárselos tú de acuerdo a dónde parte la primera línea y en qué dirección. Asígnale a esa instancia los valores direction=d y speed=v y en el evento draw dibuja una línea entre (x0,y0) y (x,y).
-Crea un objeto círculo que guarde las direcciones posibles desde las cuales puedan surgir nuevas líneas. Para ello deberás asignar a cada instancia de círculo un grupo de direcciones factibles.
-En la colisión de la línea con un círculo (o en el evento step del objeto línea revisa si ésta llega a un círculo, por ejemplo usando instance_position(x,y,o_circulo)) se reproduce el sonido y haz que esa instancia círculo cree tantas instancias línea como direcciones posibles guarda ese círculo, cada una partiendo de las coordenadas del círculo y con las direcciones que guarda. La línea que llegó al círculo debe ignorar nuevas colisiones con ese círculo o bien ser destruida y reemplazada por una instancia de un objeto que dibuje esa línea que queda fija.
Título: Re:Linea que se ilumina al pasar el tiempo
Publicado por: djboro88 en Agosto 14, 2015, 10:25:31 AM
¿Y alguna idea más visual?   XD
Título: Re:Linea que se ilumina al pasar el tiempo
Publicado por: Guacusio en Agosto 15, 2015, 12:33:12 AM
Más visual...

Mejor te paso un editable con lo que se me ocurre, un poco modificada pero es la misma idea.

Con el botón izquierdo del mouse agrega círculos. Cada vez que agregas uno, el programa le coloca un número correlativo comenzando de 1. Cuando agregues un círculo te preguntará qué círculo(s) viene(n) antes de ése, si es el primero que colocas o si ya colocaste todos los antecesores, coloca -1; de lo contrario ingresa el número del círculo antecesor. Con el botón derecho del mouse reproduces la secuencia. Normalmente cada círculo tiene sólo un antecesor pero lo dejé para que si quieres puede tener un número arbitrario de antecesores.
Título: Re:Linea que se ilumina al pasar el tiempo
Publicado por: djboro88 en Agosto 15, 2015, 10:20:23 AM
La colocacion de los numeros funciona.
Pero con el boton derecho no funciona nada. Algo ocurre
Título: Re:Linea que se ilumina al pasar el tiempo
Publicado por: Guacusio en Agosto 15, 2015, 02:43:15 PM
Cita de: djboro88 en Agosto 15, 2015, 10:20:23 AM
La colocacion de los numeros funciona.
Pero con el boton derecho no funciona nada. Algo ocurre

¿Indicaste para cada círculo cuál es su antecesor? Por ejemplo, si tienes un círculo Nº1 que origina líneas a los círculos Nº2 y Nº3 y el Nº3 al Nº4, la secuencia es:

-botón izquierdo/círculo anterior -1: crea círculo Nº1
-botón izquierdo/círculo anterior 1/círculo anterior -1: crea círculo Nº2
-botón izquierdo/círculo anterior 1/círculo anterior -1: crea círculo Nº3
-botón izquierdo/círculo anterior 3/círculo anterior -1: crea círculo Nº4
-botón derecho: muestra la secuencia funcionando.
Título: Re:Linea que se ilumina al pasar el tiempo
Publicado por: djboro88 en Agosto 16, 2015, 01:07:24 PM
Cierto si q funciona bien.
Con esto ya tengo con que romperme la cabeza.  XD