Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: _-Caleb-_ en Abril 07, 2014, 09:51:21 AM

Título: Hacer invisible un background concreto en una view en concreto... ?
Publicado por: _-Caleb-_ en Abril 07, 2014, 09:51:21 AM
Hola.

Para mi juego, en uno de los niveles (en varios, de hecho) he creado un minimapa usando views y mi pregunta es si puedo deshabilitar un background en concreto de una view en concreto:

He probado esto:

if(view_current = 0)
    {
    background_visible[0] = true;
    }


Pero obviamente lo que hace es que lo pone visible y se muestra en ambos...

También he probado cargarlo en el editor de rooms y hacer el if a la inversa y tampoco funciona así que...

¿Qué estoy haciendo mal?  :-[

¡Saludos!
Título: Re:Hacer invisible un background concreto en una view en concreto... ?
Publicado por: abraham2036 en Abril 07, 2014, 10:52:00 PM
yo de scrpits no se pero si pones que es = true se hace visible , prueba a poner false jaja  :-[
Título: Re:Hacer invisible un background concreto en una view en concreto... ?
Publicado por: _-Caleb-_ en Abril 08, 2014, 08:04:36 PM
Cita de: abraham2036 en Abril 07, 2014, 10:52:00 PM
yo de scrpits no se pero si pones que es = true se hace visible , prueba a poner false jaja  :-[

ejeje no, eso no funcionaría, pero gracias.

La cosa es que tengo una vista de juego y un minimapa, y quiero quitar el fondo del minimapa :)
Título: Re:Hacer invisible un background concreto en una view en concreto... ?
Publicado por: penumbra en Abril 08, 2014, 08:23:42 PM
¿y cómo dibujas el fondo que quieres eliminar?
Título: Re:Hacer invisible un background concreto en una view en concreto... ?
Publicado por: _-Caleb-_ en Abril 08, 2014, 08:30:13 PM
He probado de varias maneras, bien el editor de rooms, bien en el creation code y bien en el step del player... y todo mal :(
Título: Re:Hacer invisible un background concreto en una view en concreto... ?
Publicado por: Killer en Abril 08, 2014, 08:36:43 PM
El background que quieras hacer invisible debe ser desactivado en la vista anterior a la que quieres que desaparezca, esto es debido al orden en que se dibuja todo en pantalla, primero se dibuja el color de fondo de la room, luego los backgrounds puestos desde el editor de room, y luego los objetos y tiles según profundidad.

Esto quiere decir que para cuando llegue el momento de que cualquier objeto ejecute su evento draw (el unico evento donde current_view funciona) el background ya habrá sido dibujado y no puede ser eliminado.

Con esto en mente, si quieres que un background sea dibujado en la view 0 pero no en la view 1 deberás desactivarlo desde la view 0 para que cuando sea momento de dibujarlo en la view 1 ya este desactivado, y volver a activarlo en la view 1 para que pueda ser dibujado la próxima vez que se dibuje la view 0.

switch(view_current){
case (0); background_visible[0] = false; break;
case (1); background_visible[0] = true; break;
}

Título: Re:Hacer invisible un background concreto en una view en concreto... ?
Publicado por: _-Caleb-_ en Abril 08, 2014, 08:57:34 PM
Cita de: Killer en Abril 08, 2014, 08:36:43 PM
El background que quieras hacer invisible debe ser desactivado en la vista anterior a la que quieres que desaparezca, esto es debido al orden en que se dibuja todo en pantalla, primero se dibuja el color de fondo de la room, luego los backgrounds puestos desde el editor de room, y luego los objetos y tiles según profundidad.

Esto quiere decir que para cuando llegue el momento de que cualquier objeto ejecute su evento draw (el unico evento donde current_view funciona) el background ya habrá sido dibujado y no puede ser eliminado.

Con esto en mente, si quieres que un background sea dibujado en la view 0 pero no en la view 1 deberás desactivarlo desde la view 0 para que cuando sea momento de dibujarlo en la view 1 ya este desactivado, y volver a activarlo en la view 1 para que pueda ser dibujado la próxima vez que se dibuje la view 0.

switch(view_current){
case (0); background_visible[0] = false; break;
case (1); background_visible[0] = true; break;
}


Gracias @Killer, no sabía que sólo iba en el evento draw, ahora si que tira con el switch

:)

¡Saludos!