Prosta animacja
Cel

Chcemy uzyskać efekt prostej animacji. Bedzie ona wyświetlać kolejne obrazki Image1.bmp, Image2.bmp, Image3.bmp

Końcowy efekt



Potrzebne komponenty

Nazwa

Klasa

Image1

TImage

Timer1

TTimer



Metoda

1) Wstawiamy komponenty, wypisane w powyższej tabeli i zmieniamy im właściwość name na taką jaka jest w kolumnie "Nazwa"

2) Znajdz w okienku z kodem sekcję implementation i dodaj pod nią poniższą deklarację zmiennych:

var numer : integer; wgore : boolean;


3) Klikamy podwójnie na komponent Timer1. Dodajemy kod:

var nazwa : string; begin if wgore = true then numer := numer + 1; if wgore = false then numer := numer - 1; nazwa := 'Image' + IntToStr(numer) + '.bmp'; Image1.Picture.Loadfromfile(nazwa); if numer = 3 then wgore := false; if numer = 1 then wgore := true;


4) klikamy podwójnie w pustym miejscu formularza i wpisujemy poniższy kod:

numer := 0; wgore := true;


5) Uruchamiamy program.

Kod źródłowy

unit Unit1;   interface   uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls;   type TForm1 = class(TForm) Image1: TImage; Timer1: TTimer; procedure Timer1Timer(Sender: TObject); procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end;   var Form1: TForm1;   implementation   {$R *.DFM}   var numer : integer; wgore : boolean;   procedure TForm1.Timer1Timer(Sender: TObject); var nazwa : string; begin if wgore = true then numer := numer + 1; if wgore = false then numer := numer - 1; nazwa := 'Image' + IntToStr(numer) + '.bmp'; Image1.Picture.Loadfromfile(nazwa); if numer = 3 then wgore := false; if numer = 1 then wgore := true; end;   procedure TForm1.FormCreate(Sender: TObject); begin numer := 0; wgore := true; end;   end.


Autorem tekstu jest: Michał Siudziński
http://cpw.net.pl
Materiał dodany przez użytkownika: alphan