Agosto 13, 2015, 10:27:39 PM Ultima modificación: Agosto 16, 2015, 01:07:48 PM por djboro88
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

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

Saludos !!

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.



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.


La colocacion de los numeros funciona.
Pero con el boton derecho no funciona nada. Algo ocurre

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.


Cierto si q funciona bien.
Con esto ya tengo con que romperme la cabeza.  XD