Autor Tema: [ARREGLADO] Cambiar el fondo negro del sobrante en el fullscreen  (Leído 412 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Missy

Al poner el juego en fullscreen y conservando el radio del aspecto el juego se inicia con la configuración gráfica más óptima para evitar distorsiones y deformaciones en el diseño, al hacer esto quedan sitios vacíos de color negro.



Me gustaría saber si hay alguna forma de cambiar el color negro por una imagen para que parezca que estás como dentro del juego.

Sería cambiar lo negro por una imagen que se repita




¿Alguien tiene idea de cómo hacer?
« última modificación: Octubre 16, 2017, 10:10:12 pm por Missy »


 
No Tienes Permisos Para Dar Puntos
point 0 Puntos

Este tema no recibió puntos.


Desconectado NiuWeb

Re:Cambiar el fondo negro del sobrante en el fullscreen
« Respuesta #1 en: Octubre 10, 2017, 03:06:29 pm »
Hay que hacer uso del evento Draw GUI.
Primero, desactiva el dibujo automático de la application surface:
///Evento create de algún controlador
application_surface_draw_enable(false);
Y después, calcula el tamaño real de dicha surface para que mantenga su proporción:
///Evento Draw GUI
draw_background_tiled(background1, 0, 0);

var surfW = surface_get_width(application_surface);
var surfH = surface_get_height(application_surface);
var ratio = surfW / surfH;

var windW = display_get_gui_width();
var windH = display_get_gui_height();
var ratio2 = windW / windH;

var realW = 0, realH = 0;
if(ratio2 < ratio)
{
    realW = windW;
    realH = windW / ratio;
}
else if(ratio2 > ratio)
{
    realH = windH;
    realW = realH * ratio;
}
else
{
    realW = windW;
    realH = windH;
}

draw_surface_stretched(application_surface, 0, 0,realW, realH);
Lo probé en el mismo ejemplo del GM que mostraste en las imágenes,y me quedó así:

BA: RTFM and STFW



 


Desconectado Missy

Re:Cambiar el fondo negro del sobrante en el fullscreen
« Respuesta #2 en: Octubre 11, 2017, 04:43:11 pm »
Hay que hacer uso del evento Draw GUI.
Primero, desactiva el dibujo automático de la application surface:
///Evento create de algún controlador
application_surface_draw_enable(false);
Y después, calcula el tamaño real de dicha surface para que mantenga su proporción:
///Evento Draw GUI
draw_background_tiled(background1, 0, 0);

var surfW = surface_get_width(application_surface);
var surfH = surface_get_height(application_surface);
var ratio = surfW / surfH;

var windW = display_get_gui_width();
var windH = display_get_gui_height();
var ratio2 = windW / windH;

var realW = 0, realH = 0;
if(ratio2 < ratio)
{
    realW = windW;
    realH = windW / ratio;
}
else if(ratio2 > ratio)
{
    realH = windH;
    realW = realH * ratio;
}
else
{
    realW = windW;
    realH = windH;
}

draw_surface_stretched(application_surface, 0, 0,realW, realH);
Lo probé en el mismo ejemplo del GM que mostraste en las imágenes,y me quedó así:



¡Graciass!

Pero hay un pequeño fallo...


Creo que esto lo causa el código
Código: [Seleccionar]
application_surface_draw_enable(false);:/ ¿Qué podría hacer?

PD: Esto sucede en todos los objetos

« última modificación: Octubre 11, 2017, 04:45:58 pm por Missy »
 

Desconectado NiuWeb

Re:Cambiar el fondo negro del sobrante en el fullscreen
« Respuesta #3 en: Octubre 11, 2017, 04:49:48 pm »
mmm... ¿Tal vez sea porque la application surface se redimensiona con cifras decimales? Intenta aproximar a entero su tamaño, a ver si se arregla:
draw_surface_stretched(application_surface, 0, 0, round(realW), round(realH));
BA: RTFM and STFW



 

Desconectado Missy

Re:Cambiar el fondo negro del sobrante en el fullscreen
« Respuesta #4 en: Octubre 11, 2017, 04:56:25 pm »
mmm... ¿Tal vez sea porque la application surface se redimensiona con cifras decimales? Intenta aproximar a entero su tamaño, a ver si se arregla:
draw_surface_stretched(application_surface, 0, 0, round(realW), round(realH));

Sigue igual :(
 

Desconectado Clamud

Re:Cambiar el fondo negro del sobrante en el fullscreen
« Respuesta #5 en: Octubre 13, 2017, 05:52:45 am »
No entiendo bien el error, ¿se dibujan varias copias de los objetos?
 

Desconectado Missy

Re:Cambiar el fondo negro del sobrante en el fullscreen
« Respuesta #6 en: Octubre 13, 2017, 12:11:07 pm »
No entiendo bien el error, ¿se dibujan varias copias de los objetos?

Yo solo vi que en todos los objetos alrededor de ellos hay como un borde blanco, pero más allá de eso no lo sé...

Debe ser porque el background que puse como fondo es blanco-azulado

Pasa en los textos y en los objetos, pero en la background no
« última modificación: Octubre 13, 2017, 01:59:26 pm por Missy »
 

Desconectado Missy

Re:Cambiar el fondo negro del sobrante en el fullscreen
« Respuesta #7 en: Octubre 16, 2017, 10:10:01 pm »
¡Arreglado!
 

Desconectado NiuWeb

Re:Cambiar el fondo negro del sobrante en el fullscreen
« Respuesta #8 en: Octubre 16, 2017, 10:15:05 pm »
¡Arreglado!
¿Cómo lo solucionaste?
BA: RTFM and STFW



 

Desconectado kostra

  • Okupa
  • *
  • Puntos: 2023
  • Mensajes: 1.744
  • Agradecido: 13 veces
  • Sexo: Femenino
  • Deja de buscar la felicidad,la tienes dentro de ti
    • Ver Perfil
Re:[ARREGLADO] Cambiar el fondo negro del sobrante en el fullscreen
« Respuesta #9 en: Octubre 17, 2017, 01:10:39 pm »
eso eso, déjalo todo bien ordenadito porque esto interesa, es una pasada, ni se me había ocurrido jeje como molaaaaaa.

PD: Niu... tú que eres muy de crear scripts portables.... :B
"ola k ase clickarme o k ase"
la imagen no se quita xD
 

Desconectado Missy

Re:Cambiar el fondo negro del sobrante en el fullscreen
« Respuesta #10 en: Octubre 17, 2017, 07:14:59 pm »
¡Arreglado!
¿Cómo lo solucionaste?

Evento Pre-Draw:
Código: [Seleccionar]
///Evento Draw GUI
draw_background_tiled(background1, 0, 0);

var surfW = surface_get_width(application_surface);
var surfH = surface_get_height(application_surface);
var ratio = surfW / surfH;

var windW = display_get_gui_width();
var windH = display_get_gui_height();
var ratio2 = windW / windH;

var realW = 0, realH = 0;
if(ratio2 < ratio)
{
    realW = windW;
    realH = windW / ratio;
}
else if(ratio2 > ratio)
{
    realH = windH;
    realW = realH * ratio;
}
 

Desconectado kostra

  • Okupa
  • *
  • Puntos: 2023
  • Mensajes: 1.744
  • Agradecido: 13 veces
  • Sexo: Femenino
  • Deja de buscar la felicidad,la tienes dentro de ti
    • Ver Perfil
Re:[ARREGLADO] Cambiar el fondo negro del sobrante en el fullscreen
« Respuesta #11 en: Octubre 18, 2017, 09:37:00 am »
Muchas gracias Missy por preguntar algo así, nunca se me había ocurrido y ahora, guardaré este script bajo llave (amoldándolo ocn argumentos, claro :B )
"ola k ase clickarme o k ase"
la imagen no se quita xD