Julio 14, 2014, 05:57:05 PM Ultima modificación: Julio 14, 2014, 08:43:17 PM por jaimicko
como hacer que un enemigo objeto aparezca aleatoriamente?

#1 Julio 14, 2014, 06:13:24 PM Ultima modificación: Julio 14, 2014, 09:16:49 PM por 7sixerCF
Bueno suponiendo que tienes 1 objeto llamado "enemigo_obj" y quieres que este se genere en una zona aleatoria de la habitación es muy simple solo necesitas hacer lo siguiente:

Generamos una posición aleatoria con ayuda de random de la siguiente manera:

px=random(room_width); //se genera un numero aleatorio entre 0 y el ancho de la habitación
py=random(room_height); //lo mismo pero con la altura


una vez generado los datos al azar procedemos a posicionara  tu enemigo en la habitación de la siguiente forma:


instance_create(px,py,enemigo_obj);


si no sabes como posicionar estos elementos en tu juego deberías aprender GML generalmente no se da soporte para la interfaz D&D (arrastrar y soltar) de GM

Cita de: 7sixerCF en Julio 14, 2014, 06:13:24 PM
Bueno suponiendo que tienes 1 objeto llamado "enemigo_obj" y quieres que este se genere en una zona aleatoria de la habitación es muy simple solo necesitas hacer lo siguiente:

Generamos una posición aleatoria con ayuda de random de la siguiente manera:

px=random(room_width); //se genera un numero aleatorio entre 0 y el ancho de la habitación
py=random(room_height); //lo mismo pero con la altura


una vez generado los datos al azar procedemos a posicionara  tu enemigo en la habitación de la siguiente forma:


instance_create(px,py,enemigo_obj);


si no sabes como posicionar estos elementos en tu juego deberías aprender GML generalmente no se da soporte para la interfaz D&D (arrastrar y soltar) de GM

Y si quieres que además de unas coordenadas aleatorias, sea en un lapso de tiempo aleatorio ( por ej: de 1 a 5 segundos )??

usa la función random o irandom para darle valor a una alarma. En el evento de alarma creas la instancias y vuelves a echar a andar la alarma con un valor aleatorio

También cabe aclarar que existe la función ramdom_range(n1,n2) como irandom_range(n1,n2) que da un valor aleatorio entre los dos números colocados, es ideal para limitar que los enemigos se generen a partir de X sector de la pantalla.