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
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.
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.
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
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
y put_screen que significa???
uuuuuf, estoy verde como el trigo verde...
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
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