Hola gente, quería preguntar, Conseguí armar un sistema que me permite armar mapas de formas aleatorias. El tema es que mientras se arman se tarda unos segundos donde la pantalla permanece negra y muchas veces da la sensación que deja de funcionar el juego.
la pregunta es
¿existe alguna forma de poder poner alguna animación de carga previa mientras se realiza el calculo???

se aceptan cualquier idea ^^

tal vez en el código de generación del cuarto puedes dibujar un cuadro negro que abarque toda la pantalla y a su vez dibujar un sprite con una animación que simboliza que esta cargando o hacer un objeto con las mismas cosas el cuadrado y el sprite sobre ponerlo encima de todo y calcular un tiempo con una alarma para que se desactive

seria ver cuanto tarda en promedio en generar un nivel o ver el codigo de generacion para implementarlo ahi
Programame! como a una de tus árcades chinas

GET BEHIND ME DOCTOR!

Lo más fácil es poner una imagen estática. Mientras se ejecuta el código de generación del mapa no se puede actualizar la imagen, entonces es necesario dibujar la imagen antes de generar el mapa. Una forma es dibujar la imagen en el evento Draw y en el mismo evento iniciar una alarma con valor 1. En la alarma ejecutar el código del mapa.
[gml]
/// Evento Draw
draw_background(bgCargando, x, y);
alarm[0] = 1;
[/gml]

Para mostar una animación cuando está cargando, se debe dividir el código de generación en varios Steps. En lugar de utilizar un ciclo for, podrías crear una instancia con una variable para contar cuántas veces ha ejecutado su evento Step y en ese evento Step poner el código que estaba originalmente en el for. En el evento Draw de esa instancia podrías dibujar una barra de carga. También sería conveniente asignar un valor alto a la variable room_speed para evitar que la generación tarde más tiempo.