Hola!
Hay alguna forma de en mitad de una partida, copiar todos los objetos de una room y ponerlos en la room que se está ejecutando?
Por ejemplo, si tengo una room "rmBosque" y tengo 4 tipos diferentes de arboles:
-objArbol1 en posicion x:300 y: 400
-objArbol2 en posicion x:400 y: 400
-objArbol3 en posicion x:500 y: 400
-objArbol4 en posicion x:600 y: 400
Y ahora quiero lanzar la room "rmBosqueBlanco", con una función que recupere los objetos de "rmBosque" y me los pinte en la nueva room
¿Como podría hacerlo?
Un saludo!
A ver si no me equivoco, pero hasta donde sé, no hay manera de recuperar cosas de una habitación a otra, porque GM funciona de tal manera que sólo hay una habitación activa, la que está cargada actualmente. Lo que existía en la habitación anterior, no hay manera de recuperarlo directamente (mientras se está en la habitación rmBosque, las posiciones se pueden guardar en un archivo de texto o ini, para luego leer las posiciones estando en otra habitación distinta)
Otra cosa que se puede hacer, es, en un objeto controlador persistente, agregar un evento [ROOM START], y ahí:
[gml]
if (room == rmBosqueBlanco)
{
instance_create (300, 400, objArbol1)
instance_create (400, 400, objArbol2)
// agregar todos los objetos deseados en sus posiciones deseadas.
}[/gml]
Gracias por la respuesta
Pensé en eso pero aumenta bastante el trabajo
Estoy haciendo un juego para colorear y la idea es no tener que pintar el menu en todas las rooms, sino tener una pantalla con el menu y cargar los object del dibujo según se cargue una imagen u otra.
Aunque quizá pueda hacerlo al reves... crear las room de los dibujos y cargar con un objeto de control los menus
ACTUALIZADO: se me ha ocurrido que quizá con la propiedad persistent de los objetos podría hacer algo parecido, creando una room que active la persistencia de los objetos y pase a la pantalla del dibujo... voy a probar :)
Funciona :D