Posible Bug de la propiedad ALPHA de un gráfico asignada dentro de un FROM

Started by FreeYourMind, January 07, 2011, 01:03:28 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

FreeYourMind

Buenas, suelo utilizar from's antes del loop principal para hacer movidas, como efectos.
Pero me he dado cuenta que falla el alpha aplicado al grafico si lo vario utilizando un FROM, ni que despues del FROM ya le ponga un valor constante, este no se comprueba en el gráfico.

Os paso 2 funciones que deberian dar un resultado similar, una con el FROM que no funciona, y otra con el LOOP de toda la vida haciendo un break para que salga cuando ya tengo el alpha que deseo.

PROCESS FondoFROM()
BEGIN

  graph = 1;
  x = 160;
  y = 120;
  z = 1;
 
  // Ponemos alpha = 0 para tener un fondo negro y poco a poco enseñar la imagen (efecto similar a un fade)
  alpha = 0;

  FROM z = 0 TO 11;
   alpha += 20;
   say("Alpha com FROM: " + alpha);
   FRAME;
  END  // BUG BENNU !?: Al variar alpha dentro de un FROM: El gráfico no se ve afectado !!??
 
  alpha = 255;
 
  LOOP

   ..... (Operaciones)

  FRAME;

  END
END

PROCESS FondoLOOP()
BEGIN

  graph = 1;
  x = 160;
  y = 120;
  z = 1;
 
  // Ponemos alpha = 0 para tener un fondo negro y poco a poco enseñar la imagen (efecto similar a un fade)
  alpha = 0; // Equivalente pero usando LOOP - BREAK (así el gráfico ya se ve afectado, funcionando correctamente)

  LOOP
    alpha += 20;
    say("Alpha com LOOP: " + alpha);
    IF (alpha >= 260) BREAK; END
  FRAME;
  END
 
  alpha = 255;
 
  LOOP

   ..... (Operaciones)

  FRAME;

  END
END

SplinterGU

un codigo de ejemplo compilable por favor... con graficos de ser necesario.

gracias.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

FreeYourMind

Solo tienes que llamarlas en un main con un distinto boton y cargar el gráfico.
Son las 2 de la mañana y a las 6 me tengo que levantar  ;D

SplinterGU

bueno, cuando puedas, por favor, he estado todo el dia viendo bugs, y no he hecho nada de trabajo que tengo atrasado varios dias...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

SplinterGU

funciona bien free


import "mod_say";
import "mod_video";
import "mod_map";


begin

graph = map_new(100,100,16);
map_clear(0,graph,rgb(255,255,255));
alpha=0;
x = 160;
y = 120;
from z = 0 to 11;
alpha+=20;
say (z+" "+alpha);
frame;
end


end
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

FreeYourMind

A mi no. En realidad yo utilizo otro grafico por debajo en otra funcion (la funcion que llama a esta), y con el FOR, en todo momento de la ejecución el gráfico no se ve, pero se tendria que ver, ya ni que fuera al final cuando tenemos alpha = 255, vamos tenia que funcionar tal cual la funcion con loop, y no lo hace (mi grafico es de un fpg, y lo cargo en el main).

A ti te falta poner el alpha = 255 despues del for, y deberias llamar mi funcion tal cual, no poner el código en el main...

SplinterGU

free yo no puedo hacer magia ni tengo la bola de cristal, por favor, pasame un codigo compilable completo que muestre el error.

a mi me funciona, un from con un alpha, como has dicho no funciona... lo que pasa es que lo que no te funciona no es eso, sino otra cosa, y necesito el caso de prueba, sino no puedo hacer mucho.

por eso insisto en el codigo compilable que muestre el error, no lo hago porque soy mala leche de persona, sino porque se necesita el caso exacto para reproducir el error.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

FreeYourMind

Pero tu ves los cambios en la imagen ?

Pienso que tambien puede ser por la variable z del for confundirse con la de z de profundidad y tener el otro gráfico por encima con lo cual no iba a ver este, ya que estoy aumentando z en el FOR, pero lo confirmo dentro de un par de horas....

SplinterGU

ah, eso es otra cosa... la variable z no se confunde, es la z de toda la vida, no hay una z adicional...

claro, yo pense que tenias un solo grafico... logico, otro grafico se te esta metiendo encima.

usa otra variable, no uses las variables reservadas para el engine, para hacer cosas como for, o from.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

FreeYourMind

Era lo que temia :)

Muchas gracias por tu tiempo perdido Splinter, en realidad me ha sido muy util acordarme de este error comun y tonto, porque gracias a el he resuelto otro bug que llebaba hace tiempo para arreglar en otro sitio, y afinal tenia origen similar :)

Era el tema del flicking que comentaba hace tiempo, tenia el z corregido y el error seguia, y ahora me entero que era porque tambien tenia unos 'for z' por medio :)

Te llevas un karma, porque tu tiempo perdido no ha sido inutil  ;)

SplinterGU

jojojo... al menos me alegro que haya servido para corregir unos cuantos bugs.

saludos.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2