Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: DaiGoN en Abril 06, 2015, 02:59:52 PM

Título: Copiar objetos y su posición de un room a otro en mitad del juego
Publicado por: DaiGoN en Abril 06, 2015, 02:59:52 PM
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!
Título: Re:Copiar objetos y su posición de un room a otro en mitad del juego
Publicado por: penumbra en Abril 06, 2015, 04:39:20 PM
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]
Título: Re:Copiar objetos y su posición de un room a otro en mitad del juego
Publicado por: DaiGoN en Abril 07, 2015, 11:11:54 AM
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 :)
Título: Re:Copiar objetos y su posición de un room a otro en mitad del juego
Publicado por: DaiGoN en Abril 07, 2015, 02:48:03 PM
Funciona :D