Pada bagian ini, anda akan belajar bagaimana menggerakkan
komponen dan membuat animasinya dengan menggunakan komponent tTimer. Ikuti
langkah-langkah berikut :
1.
Buat sebuah project baru. Set
nama form anda dengan nama AnimasiForm.
2.
Masukkan komponen-komponen sebagai
berikut :
Set Properti
Komponen Animasi Delphi
3.
Set properti masing-masing
komponen sebagai berikut :[TABLE=13]
4. Bagi klausa tipe, tambahkan
tipe baru tArah berupa set dari (diam,kiri, kanan, atas, bawah) [code
language="php"]
type
tArah = (diam,kiri, kanan, atas, bawah);
[/code]
type
tArah = (diam,kiri, kanan, atas, bawah);
[/code]
5.
Tambahkan konstanta langkah
bernilai 10 [code language="php"]
const
langkah = 10;
[/code]
const
langkah = 10;
[/code]
6.
Tambahkan variabel arah bertipe
tArah [code language="php"]
var
AnimasiForm : TAnimasiForm;
arah : tArah;
[/code]
var
AnimasiForm : TAnimasiForm;
arah : tArah;
[/code]
7.
Pada bagian Implementation,
buat kluasa tambahan Initialization berisi : [code language="php"]
implementation
implementation
Initialization
arah := diam;
arah := diam;
end.
[/code]
[/code]
8. Sorot komponen SpeedButton1
sampai SpeedButton5. Klik Object Inspector, pada tab event di baris onclick,
ketik event handler ChangeDirection. Ketik kode event handler sebagai berikut :
[code language="php"]
procedure TAnimasiForm.ChangeDirection(Sender: TObject);
begin
if sender=SpeedButton1 then
arah := diam
else if sender=SpeedButton2 then
arah := atas
else if sender=SpeedButton3 then
arah := kiri
else if sender=SpeedButton4 then
arah := bawah
else if sender=SpeedButton5 then
arah := kanan
end;
[/code]
procedure TAnimasiForm.ChangeDirection(Sender: TObject);
begin
if sender=SpeedButton1 then
arah := diam
else if sender=SpeedButton2 then
arah := atas
else if sender=SpeedButton3 then
arah := kiri
else if sender=SpeedButton4 then
arah := bawah
else if sender=SpeedButton5 then
arah := kanan
end;
[/code]
9.
Sorot komponen timer1. Ketik
kode untuk event onTimer sebagai berikut : [code language="php"]
procedure TAnimasiForm.Timer1Timer(Sender: TObject);
begin
if arah=atas then
begin
Shape1.top := Shape1.Top - langkah;
if Shape1.Top<=0 then
arah := bawah
end
else if arah=bawah then
begin
Shape1.top := Shape1.Top + langkah;
if Shape1.top>=(panel2.Height - Shape1.Height) then
arah := atas
end
else if arah=kiri then
begin
Shape1.Left := Shape1.Left - langkah;
if Shape1.Left<=0 then
arah := kanan
end
else if arah=kanan then
begin
Shape1.Left := Shape1.Left + langkah;
if Shape1.Left>=(panel2.Width - Shape1.Width) then
arah := kiri
end;
end;
[/code]
procedure TAnimasiForm.Timer1Timer(Sender: TObject);
begin
if arah=atas then
begin
Shape1.top := Shape1.Top - langkah;
if Shape1.Top<=0 then
arah := bawah
end
else if arah=bawah then
begin
Shape1.top := Shape1.Top + langkah;
if Shape1.top>=(panel2.Height - Shape1.Height) then
arah := atas
end
else if arah=kiri then
begin
Shape1.Left := Shape1.Left - langkah;
if Shape1.Left<=0 then
arah := kanan
end
else if arah=kanan then
begin
Shape1.Left := Shape1.Left + langkah;
if Shape1.Left>=(panel2.Width - Shape1.Width) then
arah := kiri
end;
end;
[/code]
10.
Simpan file unit anda dengan
nama uAnimasi.PAS
11.
Simpan file project anda dengan
nama Animasi.DPR. Sekarang kompilasi dan jalankan program anda
Posting Komentar