12
LAPORAN GRAFIKA KOMPUTER Oleh : M. Husni Mubarok ( 08622067 ) TEKNIK INFORMATIKA UNIVERSITAS MUHAMMADIYAH GRESIK

pembuatan naimasi menggunakan delphi 6

Embed Size (px)

Citation preview

Page 1: pembuatan naimasi menggunakan delphi 6

LAPORANGRAFIKA KOMPUTER

Oleh :

M. Husni Mubarok ( 08622067 )

TEKNIK INFORMATIKAUNIVERSITAS MUHAMMADIYAH

GRESIK2009

Page 2: pembuatan naimasi menggunakan delphi 6

Laporan Resmi Tugas Grafika Komputer

TEMA : Menggerakkan Bola

Gambar bola

Page 3: pembuatan naimasi menggunakan delphi 6

Program animasi ini dinuat bertujuan agar kita bisa belajar lebih dalam

tetang bahasa pemrogaman Delphi, khususnya untuk para pemula. Program ini

dibuat menggunakan program Delphi 6.

Dalam project ini akan dijabarkan cara-cara membuat animasi bola yang

dapat bergerak sesuai dengan instruksi tombol yang ditekan, untuk mempermudah

kami akan membagi menjadi dua session pembahasan, yaitu :

Session 1

a) Mengenal dan dapat menempatkan komponen panel, shape, speedBtn,

dan timer.

b) Mendefinisikan type dan tArah.

c) Mendefinisikan konstanta langakah.

d) Mendefinisikan variabel arah.

Session 2

a) Procedure ganti arah ( sender: Tobject )

b) Event onClick untuk pada speedBtn

c) Event onTimer pada timer

d) Penggunaan klausa Intislization

Page 4: pembuatan naimasi menggunakan delphi 6

Komponen Panel, Shape, Speedbtn, dan Timer.

.

Mendefinisikan type dan tArah.

Disini harus dibuat type data baru yang berfungsi untuk menyimpan

pergerakan arah dari project animasi.

tArah = ( diam,kiri,kanan,atas,bawah);

kemudian perlu juga mendefinisikan sebuah knstanta yang gunanya untuk

menentukan seberapa besar pergerakan bola.

const

langkah = 10;

Mebuat variabel yang berguna untuk menyimpan pada arah mana bola

bergerak sesuai dengan tombol yang dipencet.

Panel

Shape (additional )speedBt

(System)Timer

Page 5: pembuatan naimasi menggunakan delphi 6

var

Form1: TForm1;

Arah : tArah;

Selanjutnya perlu dibuat sebuah procedure yang berguna untuk

menyimpan suatu arah yang diinstruksikan oleh user

procedure GantiArah(Sender: TObject);

selanjutnya procedure ganti arah diimplementation

implementation

{$R *.dfm}

procedure TForm1.GantiArah(sender: TObject);

begin

if sender = speedbutton1 then

arah:= kiri

else if sender = speedbutton2 then

arah:= diam

else if sender = speedbutton3 then

arah:= atas

else if sender = speedbutton4 then

arah:= kanan

else if sender = speedbutton5 then

arah:= bawah

;

Event onTimer pada timer

procedure TForm1.Timer1Timer(Sender: TObject);

begin

if Arah = atas then

begin

shape1.Top := shape1.Top - langkah;

if Shape1.Top <= 0 then

arah := bawah

Page 6: pembuatan naimasi menggunakan delphi 6

artinya apabila shape1 menyentuh batas atas panel1 maka shape1 akan

berubah arah menjadi ke bawah

end

else if arah = bawah then

begin

shape1.Top := shape1.Top + langkah;

if shape1.Top >= (panel1.Height - shape1.Height) then

arah := atas

artinya apabila shape1 menyentuh batas bawah panel1 maka shape1 akan

berubah arah menjadi ke atas.

end

else if arah = kiri then

begin

shape1.Left := shape1.Left - langkah;

if shape1.left <= 0 then

arah := kanan

artinya apabila shape1 menyentuh batas kiri panel1 maka shape1 akan

berubah arah menjadi ke kanan

end

else if arah = kanan then

begin

shape1.Left := shape1.Left + langkah;

if shape1.left >= (panel1.width - shape1.width) then

arah := kiri

end;

artinya apabila shape1 menyentuh batas kanan panel1 maka shape1 akan

berubah arah menjadi ke kiri.

Penggunaan klausa Intislization

Artinya pada saat dibuka bola dalam posisi diam.

initialization

arah := diam;

Page 7: pembuatan naimasi menggunakan delphi 6

Penjelasan Objek Form1

object Form1: TForm1 Left = 345 Top = 207 Width = 779 Height = 563 Caption = 'animasi bola oleh : M HUSNI MUBAROK' Color = clBtnFace Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -11 Font.Name = 'MS Sans Serif' Font.Style = [] OldCreateOrder = False PixelsPerInch = 96 TextHeight = 13 object Panel1: TPanel Left = 0 Top = 0 Width = 561 Height = 512 Align = alLeft TabOrder = 0 object Shape1: TShape Left = 240 Top = 216 Width = 65 Height = 65 Brush.Color = clYellow Shape = stEllipse end end object Panel2: TPanel Left = 561 Top = 0 Width = 211 Height = 512 Align = alRight TabOrder = 1 object SpeedButton1: TSpeedButton Left = 64 Top = 240 Width = 23 Height = 22 Glyph.Data = { 76010000424D76010000000000007600000028000000200000001000000

Page 8: pembuatan naimasi menggunakan delphi 6

0010004000000000000010000120B0000120B00001000000000000000000000000000800000800000008080008000000080008000808000007F7F7F00BFBFBF000000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF00333333333333333333333333333333FF3333333333333744333333333333F77333333333333744473333333333F777F3333333333744444333333333F77337333333333744444433333333F77333733333333744444447333333F7733337F333333744444444433333F77333333733333744444444443333377FFFFFFF7FFFFF9999999999999999733777777777777333CCCCCCCCCC33333773FF333373F3333333CCCCCCCC C333333773FF3337F333333333CCCCCCC33333333773FF373F3333333333CCCCCC333333333773FF73F33333333333CCCCC3333333333773F7F3333333333333CCC333333333333777FF33333333333333CC3333333333333773} NumGlyphs = 2 OnClick = GantiArah end object SpeedButton2: TSpeedButton Left = 96 Top = 240 Width = 23 Height = 22 Glyph.Data = { 76010000424D760100000000000076000000280000002000000010000000010004000000000000010000120B0000120B00001000000000000000000000000000800000800000008080008000000080008000808000007F7F7F00BFBFBF000000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF00555555550555555555555555F55555555505555B0555570555F55557F55555F55B50555B05557B55575F5557F555575555B5055B5557B5555575F55755557555555B5550005B55555557555FFF575555555555BBB0055555555555777FF5555555555BBBBB0055555555577777FF55555000BBBBBBB050005FFF7777777F5FFFBBB5BBBBBBB0BBB577757777777F77755555BBBBBBB55555555577777775555555555BBBBB5555555555577777555555555705BBB55505555555F5777555F555557B5555055B505555575555F5575F5557B5555B0555B50555755557F55575F55B55555B05555B5557555557F55557555555555B555555555555555755555555} NumGlyphs = 2 OnClick = GantiArah end object SpeedButton3: TSpeedButton Left = 96 Top = 208 Width = 23 Height = 22 Glyph.Data = {

Page 9: pembuatan naimasi menggunakan delphi 6

76010000424D7601000000000000760000002800000020000000100000000100 04000000000000010000120B0000120B00001000000000000000000000000000800000800000008080008000000080008000808000007F7F7F00BFBFBF000000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF003C3333339333337437FFF3337F3333F73CCC33339333344437773F337F33377733CCC33393374447337F73FF7F3F337F33CCCCC3934444433373F7737F773373333CCCCC944444733337F337773337F3333CCCCC9444443333373F337F3337333333CCCC9444473333337F337F337F333333CCCC94444333333373F37F33733333333CCC94447333333337F37F37F33333333CCC944433333333373F7F373333333333CC944733333333337F7F7F3333333333CC94433333333333737F7333333333333C947333333333333737F333333333333C9433333333333337373333333333333397333333333333337F33333333333333933333333333333373333333} NumGlyphs = 2 OnClick = GantiArah end object SpeedButton4: TSpeedButton Left = 128 Top = 240 Width = 23 Height = 22 Glyph.Data = { 76010000424D760100000000000076000000280000002000000010000000010004000000000000010000120B0000120B00001000000000000000000000000000800000800000008080008000000080008000808000007F7F7F00BFBFBF000000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF0033333333333333333FF3333333333333447333333333333377FFF33333333333744473333333333337773FF3333333333444447333333333373F773FF333333333444444733333333373F3773FF3333333744444447333333337F333773FF333333444444444733333373F3333773FF333334444444444733FFF7FFFFFFF77FF999999999999999977777777777733773333CCCCCCCCCC3333337333333F7733333CCCCCCCCC33333337F3333F773333333CCCCCCC3333333337333F7733333333CCCCCC3333333333733F77333333333CCCCC333333333337FF7733333333333CCC3333333333333777333333333333CC333333333333337733333333333333} NumGlyphs = 2 OnClick = GantiArah end object SpeedButton5: TSpeedButton Left = 96 Top = 272 Width = 23

Page 10: pembuatan naimasi menggunakan delphi 6

Height = 22 Glyph.Data = { 76010000424D760100000000000076000000280000002000000010000000010004000000000000010000120B0000120B00001000000000000000000000000000800000800000008080008000000080008000808000007F7F7F00BFBFBF000000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF00333333393333333333333337F3333333333333397333333333333337FF333333333333C943333333333333737F333333333333C9473333333333337373F3333333333CC944333333333337F7F7F3333333333CC94473333333333737F73F33333333CCC94443333333337F37F37F33333333CCC94447333333337337F373F333333CCCC9444433333337F337F337F333333CCCC94444733333373337F3373F3333CCCCC944444333337F3337FF337F3333CCCCC94444473333733F7773FF73F33CCCCC393444443337F37737F773F7F33CCC33393374447337F73337F33737FFCCC333393333444377733337F333777FC3333339333337437333333733333373} NumGlyphs = 2 OnClick = GantiArah end end object Timer1: TTimer Interval = 100 OnTimer = Timer1Timer Left = 104 Top = 376 endend