Upload
m-husni-mubarok
View
860
Download
0
Embed Size (px)
Citation preview
LAPORANGRAFIKA KOMPUTER
Oleh :
M. Husni Mubarok ( 08622067 )
TEKNIK INFORMATIKAUNIVERSITAS MUHAMMADIYAH
GRESIK2009
Laporan Resmi Tugas Grafika Komputer
TEMA : Menggerakkan Bola
Gambar bola
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
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
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
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;
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
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 = {
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
Height = 22 Glyph.Data = { 76010000424D760100000000000076000000280000002000000010000000010004000000000000010000120B0000120B00001000000000000000000000000000800000800000008080008000000080008000808000007F7F7F00BFBFBF000000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF00333333393333333333333337F3333333333333397333333333333337FF333333333333C943333333333333737F333333333333C9473333333333337373F3333333333CC944333333333337F7F7F3333333333CC94473333333333737F73F33333333CCC94443333333337F37F37F33333333CCC94447333333337337F373F333333CCCC9444433333337F337F337F333333CCCC94444733333373337F3373F3333CCCCC944444333337F3337FF337F3333CCCCC94444473333733F7773FF73F33CCCCC393444443337F37737F773F7F33CCC33393374447337F73337F33737FFCCC333393333444377733337F333777FC3333339333337437333333733333373} NumGlyphs = 2 OnClick = GantiArah end end object Timer1: TTimer Interval = 100 OnTimer = Timer1Timer Left = 104 Top = 376 endend