Autor Tema: ¿Error? en variable fading  (Leído 1321 veces)

izubiaurre

  • Administrator
  • *****
  • Mensajes: 425
  • Karma: 23
    • ::IDE for BennuGD::
¿Error? en variable fading
« en: Abril 10, 2010, 10:48:26 am »
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

  • Hero Member
  • *****
  • Mensajes: 5681
  • Karma: 128
    • GECA soft
Re: ¿Error? en variable fading
« Respuesta #1 en: Abril 10, 2010, 01:05:07 pm »
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.
« última modificación: Abril 10, 2010, 01:08:31 pm por FreeYourMind »

izubiaurre

  • Administrator
  • *****
  • Mensajes: 425
  • Karma: 23
    • ::IDE for BennuGD::
Re: ¿Error? en variable fading
« Respuesta #2 en: Abril 10, 2010, 01:22:51 pm »
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

  • Hero Member
  • *****
  • Mensajes: 2930
  • Karma: 124
    • TRINIT Asociación de Informáticos de Zaragoza
Re: ¿Error? en variable fading
« Respuesta #3 en: Abril 10, 2010, 02:06:53 pm »
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

  • Hero Member
  • *****
  • Mensajes: 5681
  • Karma: 128
    • GECA soft
Re: ¿Error? en variable fading
« Respuesta #4 en: Abril 10, 2010, 02:27:00 pm »
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

  • Hero Member
  • *****
  • Mensajes: 2863
  • Karma: 34
  • Superviviente marciano
    • futublock
Re: ¿Error? en variable fading
« Respuesta #5 en: Abril 10, 2010, 10:13:35 pm »
y put_screen que significa???

uuuuuf, estoy verde como el trigo verde...

Windgate

  • Hero Member
  • *****
  • Mensajes: 2930
  • Karma: 124
    • TRINIT Asociación de Informáticos de Zaragoza
Re: ¿Error? en variable fading
« Respuesta #6 en: Abril 11, 2010, 05:14:51 am »
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

  • Hero Member
  • *****
  • Mensajes: 2863
  • Karma: 34
  • Superviviente marciano
    • futublock
Re: ¿Error? en variable fading
« Respuesta #7 en: Abril 11, 2010, 08:49:30 am »
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