Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: MONT en Septiembre 04, 2011, 08:02:41 PM

Título: [SOLUCIONADO] ?Como puedo capturar pantalla del room anterior?
Publicado por: MONT en Septiembre 04, 2011, 08:02:41 PM
Quisiera poner como un sprite de fondo (o Background seria mejor) el estado de la room anterior.
No sirve hacer los objetos anteriores como persistentes, pues interferirian en la actual room; basicamente quiero tomar una foto de la room anterior y ponerla de fondo.

Para entenderlo mejor, lo que hago es un programa para crear animaciones y al poner la dicha imagen de fondo seria como "calcar" y hacer la nueva imagen en base a la anterior
Título: Re: [Ayuda] ?Como puedo capturar pantalla del room anterior?
Publicado por: Kirlian en Septiembre 05, 2011, 01:49:23 AM
Hola amigo pues tengo 2 posibles respuestas talvez te sirvan tal vez no pero hay te van;

1- puedes correr el juego o animacion y darle un prin screan con el teclado
2-o puedes duplicar la room

espero te allan servido
Título: Re: [Ayuda] ?Como puedo capturar pantalla del room anterior?
Publicado por: MaanuRP en Septiembre 05, 2011, 03:35:14 AM
Para capturar la pantalla utiliza:

[gml]
screen_save(fname)

//fname lo tienes que sustituir por ejemplo por: "Nivel1.bmp" (La extension no se si es necesaria.
[/gml]

Y puedes poner en el codigo de creacion del room siguiente o en algun objeto que este en ese nuevo room la sentencia:

[gml]
background_add(fname,transparent,smooth,preload)
[/gml]


Agrega la imagen almacenada en el archivo fname al juego de recursos background. Solo se pueden manejar im?genes bmp y jpg. transparent indica si la imagen es parcialmente transparente. smooth indica si se alisar?n los bordes. preload indica si se precargar? la imagen en la memoria de texturas. La funci?n devuelve el ?ndice del nuevo fondo, el cual se puede usar para dibujarlo o para asignarlo a la variable background_index[0] para hacerlo visible en la habitaci?n actual. Devuelve -1 cuando ocurre alg?n error.


Y ahora solo te quedara ponerla de fondo en el room.






Una funcion que tiene lo que pides pero no se si al 100% es:

[gml]
background_create_from_screen(x,y,w,h,transparent,smooth,preload)
[/gml]


Crea un fondo copiando un ?rea indicada de la pantalla (x, y=coordenadas esquina superior izquierda, w=ancho, h=alto). Esta funci?n permite crear cualquier fondo que se desee. Se dibuja la imagen en pantalla usando las funciones de dibujo y a continuaci?n se crea un nuevo fondo de ella. (Si no se hace esto en el evento drawing incluso se puede lograr que no sea visible en pantalla si no se refresca). Los otros par?metros son similares a los de las anteriores funciones. La funci?n devuelve el ?ndice del nuevo fondo. Se requiere algo de cuidado aqu?. Aunque se habla de la pantalla, lo que importa es la regi?n en la que se dibuja. No importa el hecho de que haya una ventana en pantalla y que la imagen en ella pudiera estar escalada.
Título: Re: [Ayuda] ?Como puedo capturar pantalla del room anterior?
Publicado por: MONT en Septiembre 05, 2011, 07:46:02 AM
 :) muchas gracias a los dos, sobretodo a MaanuRP
Estuve intentando a medias las opciones y creo que ya tengo la que me servira, esperare a ya acabar con este asunto para dar este tema como "[SOLUCIONADO]".
De nuevo, muchas gracias   ;D