Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   C++ Builder (https://www.clubdelphi.com/foros/forumdisplay.php?f=13)
-   -   truquito para crear efectos de animacion con Gifs animados (https://www.clubdelphi.com/foros/showthread.php?t=96851)

navbuoy 25-09-2024 18:09:47

truquito para crear efectos de animacion con Gifs animados
 
jeje, mirad que truquito mas guapo para añadir efectos de animacion con Gifs Animados

os dejo el archivo con los 2 ficheros el .pas y el .hpp

https://quazardev.net/GifImage.rar

su uso es muy sencillo, incluimos en el proyecto el archivo PAS y en los include ponemos

Código:

#include "GifImage.hpp"
en global o Form1 Public o donde queramos ponerlo, creamos los objetos Gif

Código:

Gifimage::TGIFImage *tgi = new Gifimage::TGIFImage();
Gifimage::TGIFImage *tgi2 = new Gifimage::TGIFImage();
Gifimage::TGIFImage *tgi3 = new Gifimage::TGIFImage();
Gifimage::TGIFImage *tgi4 = new Gifimage::TGIFImage();

en mi caso he creado 4 (tgi, tgi2, tgi3 y tgi4)

luego en algun lugar del codigo (el constructor del form o en OnCreate) ponemos:

Código:

        tgi->LoadFromFile(".\\gfx\\punto_de_salto.gif");
                tgi->Animate = true;
                tgi->AnimationSpeed = 500;
                Form1->Explosion->Picture->Graphic = tgi;  //Pone explosion porque al principio puse una explosion pero en el video de abajo sale un efecto distinto
                Form1->Explosion->Transparent = true;

y para terminar lo activamos donde sea (yo he puesto un tButton y un Timer a 6000 ms cuando termina lo desactiva)

Código:

void __fastcall TForm1::sButton1Click(TObject *Sender)
{
          ///Mostramos gif animado
                tgi->Animate = true;
                tgi->AnimationSpeed = 500;
        tgi->Transparent = true;
                Explosion->Picture->Graphic = tgi;
                Explosion->Visible = true;
                Explosion->Transparent = true;

                Explosion->Visible = true;
                Timer10->Enabled = true;
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Timer10Timer(TObject *Sender)
{
  Timer10->Enabled = false;
                Explosion->Visible = false;
}
//---------------------------------------------------------------------------

y asi queda en Stardust

https://www.youtube.com/watch?v=P7ld1Ph0IsM

ElKurgan 01-10-2024 10:39:02

Gracias por compartir

Saludos


La franja horaria es GMT +2. Ahora son las 21:38:46.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi