¿Error? en variable fading

Started by izubiaurre, April 10, 2010, 10:48:26 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

izubiaurre

Tengo un proceso que hace lo siguiente:


[code language="bennu"]
process logo();
private
   int m_logo;
   byte i;
begin
   fade_off();
   m_logo = load_png("pagoa.png");
   put_screen(0,m_logo);
   fade(100,100,100,4);
   while (fading) frame; end

   loop
       if (key(_ENTER) or key(_ESC) or i > 150) break; end
       i++;
       frame;
   end

   fade(0,0,0,4);
   while(fading) frame; end

   menu();
   frame(800);
end


[/code]

Nada difícil, pero la ejecución se me bloquea en el 1er while (fading). Si pongo solamente fade_off() y fade_on() no falla.
He mirado en la ayuda y el ejemplo es igual. No sé lo que falla.

Estoy con la última versión de Bennu.

Un saludo


FreeYourMind

#1
Prueba a poner el fade_off() fuera del process logo(), o sea, lo llamas antes del proceso (y lo quitas de dentro del proceso):

fade_off();
logo();
...


PS: Poner fade_off() seguido de fade_on() directamente, no se nota nada (al reves de DIV/Fenix en que hacen frame interno), porque necesitas el wile (fading), ya que el fade_on() anula el fade_off() y no te enteras de nada.

izubiaurre

Funciona poniendo frame; después de los fade_off y fade_on. En el manual no ponía de que era necesario un frame extra después de esas llamadas.

Gracias por la ayuda.

Windgate

Es curioso cómo funciona FRAME, creo que en su día tuve un problema similar y al final opté por dejar el código en un módulo separado y editar ese módulo cada vez que necesitaba un fade, para no tener que acordarme de ese detalle xD
Iván García Subero. Programador, profesor de informática, monitor de actividades culturales y presidente de TRINIT Asociación de Informáticos de Zaragoza. http://trinit.es

FreeYourMind

Esto ya se ha comentado por aqui, si buscais el post 'diferencias y apuntes de cosas distintas a DIV', fui yo mismo que expuso el problema.
Todos pasamos por lo mismo en la vida, y quien no, es porque es extraterrestre :D

Futu-block

y put_screen que significa???

uuuuuf, estoy verde como el trigo verde...

Windgate

El put_screen te pone una imagen como fondo, generalmente se hace con imágenes del mismo tamaño de la ventana, por ejemplo para la pantalla de presentación del juego. Ahí si además pones un fade queda muy bien la cosa :D
Iván García Subero. Programador, profesor de informática, monitor de actividades culturales y presidente de TRINIT Asociación de Informáticos de Zaragoza. http://trinit.es

Futu-block

ya creo que voy entendiendo, carga una imagen previamente:
[code language="bennu"]  m_logo = load_png("pagoa.png");
   put_screen(0,m_logo);[/code]

esta bien eso