Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: yottaomi en Mayo 25, 2018, 05:49:30 PM

Título: Instancia aleatoria
Publicado por: yottaomi en Mayo 25, 2018, 05:49:30 PM
Perdón por preguntar tanto, pero he intentado buscar una solución a este problema y no encuentro una que funcione.
La pregunta es, como hago para que las instancias del objeto alien (en un juego estilo space invaders) disparen (de una en una) y lo haga una instancia aleatoria cada vez, a un tiempo relativamente aleatorio (que disparen de vez en cuando, pero cada poco tiempo, sin ser este una cantidad concreta).
Título: Re:Instancia aleatoria
Publicado por: 3dgeminis en Mayo 26, 2018, 07:48:07 AM
Podrias crear una lista en otro objeto y agregar la id de cada nave a ella y desordenar la lista (ds_list_shuffle).
Para ir moviendote por las posiciones en la lista crea una variable y una alarma, en la alarma aumenta en 1 el valor de la variable y usa la id guardada en la lista en esa posicion para hacer que esa instancia dispare.
Título: Re:Instancia aleatoria
Publicado por: yottaomi en Mayo 28, 2018, 01:16:33 PM
¿Cómo consigo la id de cada instancia?
Título: Re:Instancia aleatoria
Publicado por: Dublan en Mayo 28, 2018, 02:44:36 PM
Otra opción que se me ocurre es jugar con las alarmas y la función choose. Si usas esta opción, recuerda usar randomize() antes del choose.
Título: Re:Instancia aleatoria
Publicado por: 3dgeminis en Mayo 28, 2018, 08:29:09 PM
Puedes agregar las id a la lista de esta forma:
[gml]
lista=ds_list_create()
with(obj_enemigo) {ds_list_add(other.lista, id)}
[/gml]