Hola.
Estoy intentando hacer un ejemplo muy sencillo para mostrar los distintos valores de SCALE_MODE (pulsando diferentes teclas) y funciona bien...excepto por el detalle que tengo un círculo pintado en pantalla para ver qué le pasa cuando se cambia de escala y resulta que...si no es con el valor de escala por defecto, DESAPARECE. ¿Es normal esto?
Gracias...
Aquí está el código:
[code language="bennu"]
Import "mod_video";
Import "mod_text";
Import "mod_key";
Import "mod_map";
Import "mod_proc";
Import "mod_draw";
Process Main()
begin
set_mode(320,240);
write(0,100,50,0,"Valor de SCALE_MODE:");
write_var(0,250,50,0,scale_mode);
proceso();
repeat
if(key(_a)) scale_mode=SCALE_NONE;set_mode(320,240);end
if(key(_s)) scale_mode=SCALE_SCALE2X;set_mode(320,240);end
if(key(_d)) scale_mode=SCALE_HQ2X;set_mode(320,240);end
if(key(_f)) scale_mode=SCALE_SCANLINE2X;set_mode(320,240);end
if(key(_g)) scale_mode=SCALE_NOFILTER;set_mode(320,240);end
frame;
until(key(_esc))
let_me_alone();
end
Process proceso()
begin
x=180;y=100;
graph=new_map(60,60,32);
drawing_map(0,graph);
drawing_color(rgb(255,255,0));
draw_fcircle(25,25,25);
loop
frame;
end
end
[/code]
completamente normal... debido a que scale_mode no soporta 32 bits...
ahi estas haciendo set_mode que por default actualmente es 16bits, y no puedes escribir un grafico de 32 sobre 16... nunca mayor resolucion en menor... es siempre a la inversa, = o menor a la destino.