Ver Mensaje Individual
  #1  
Antiguo 25-09-2024
navbuoy navbuoy is offline
Miembro
 
Registrado: mar 2024
Posts: 360
Reputación: 3
navbuoy Va por buen camino
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
Responder Con Cita