Cel :

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


Końcowy efekt :


Potrzebne komponenty :


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.