Bennu Game Development

Foros en Español => Mesa de Ayuda => Topic started by: FreeYourMind on February 21, 2010, 12:29:51 PM

Title: Problema al dibujar Png's declaradas como globales
Post by: FreeYourMind on February 21, 2010, 12:29:51 PM
Buenas, me he encontrado este estraño problema:

Tengo el siguiente código:

GLOBAL

MapLogo;

....

BEGIN

MapLogo = load_png("Map/GecaSoft.png");

set_mode(800, 600, 32);
set_fps(60, 0);

...

logo();
END

PROCESS logo();
PRIVATE

MapLogo2;

BEGIN

graph = MapLogo;
z = 400;
y = 100;
x = 200;

put(0, MapLogo, 200, 300);

MapLogo2 = load_png("Map/GecaSoft.png");
put(0, MapLogo2, 200, 500);

FRAME;
END

Esto me pinta 3 veces el logo por esta orden:

El de arriba es el definido como graph y utiliza la variable global MapLogo;

El del medio se pinta utilizando un put() y utiliza la variable global MapLogo;

El del fondo se pinta utilizando un put() y utiliza la variable local MapLogo2;

El problema esta en que sólo el último, el MapLogo2, el cual he declarado como variable privada, se pinta correctamente (lo podeis mirar en los bordes de la imagen, esta es la ultima y los bordes se pintan bien, no parecen 'ratados' como los 2 primeros, y se ven bien los bordes grises que tiene alrededor).

A que se debe, porque la imagen es tratada de forma distinta si declarada como local y es la unica forma que se pinta correctamente ?


(http://forum.bennugd.org/index.php?action=dlattach;topic=1192.0;attach=887)


Title: Re: Problema al dibujar Png's declaradas como globales
Post by: panreyes on February 21, 2010, 01:26:59 PM
No tiene que ver con que la cargues en una variable local o global, sino que hagas el set_mode antes o después :)
Title: Re: Problema al dibujar Png's declaradas como globales
Post by: FreeYourMind on February 21, 2010, 01:58:38 PM
Grácias, bien que así es. Es la primera vez que utilizo png's y modo 32 en Div Likes :)
Title: Re: Problema al dibujar Png's declaradas como globales
Post by: panreyes on February 21, 2010, 02:37:13 PM
Concretamente, la diferencia está en que al no hacer el set_mode primero cargas la imagen en modo 16 bits, y en la conversión a map se simplifican las transparencias a opaco/transparente, en vez de utilizar valores intermedios como "medio-transparente". En fin xD
Title: Re: Problema al dibujar Png's declaradas como globales
Post by: FreeYourMind on February 21, 2010, 02:43:59 PM
Si, ya me habia fijado, grácias.
Title: Re: Problema al dibujar Png's declaradas como globales
Post by: Windgate on February 21, 2010, 03:24:56 PM
Jias, curioso problema, una cosa nueva que sabemos, ¿Cerramos el hilo? :P