Chcemy uzyskać efekt prostej animacji. Bedzie ona wyświetlać kolejne obrazki Image1.bmp, Image2.bmp, Image3.bmp
Nazwa |
Klasa |
Image1 |
TImage |
Timer1 |
TTimer |
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.
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.