Bad Company UG

Selasa, 03 Januari 2012

Dasar Pembuatan Game dengan Module “HitTest by VirSpector”

0 komentar
 
Kita akan membuat sebuah…. GAME sederhana.
Yap, tapi ini bukan bener-bener “Game” yang aku maksud. Kita disini hanya akan menggunakan example module HitTest buatanku Smile.

HitTest itu apa?

Itulah pertanyaannya. Sebenarnya, bagi anda yang sudah bergelut di pemrogramman actionscript Flash, pasti sudah tahu apa itu HitTest. Benar kan?
Yap, HitTest itu maksudnya adalah apabila dua object saling tabrakan atau HIT bahasa inggrisnya…
Trus, bagaimana penerapannya dalam Visual Basic 6.0? Nah disinilah fungsi module HitTest by VirSpector ini Open-mouthed smile

Pertama-tama yang perlu anda lakukan adalah mengunduh module ini dulu. Tenang kok, kecil kok modulenya. Dan Open Source lagi, jadi semua orang bisa ngemodif gimanapun. Pokoknya, terserah deh!
Silahkan lihat download linknya di bagian bawah page ini. Vampire bat
Ok, lanjuuuttt….
Sekarang extract dulu filenya, lalu taruh modulenya ditempat yang aman (wow, module aja harus dijaga biar aman Dog face).
Lanjuuutt lagi…
Sekarang, buka Visual Basic 6, pilih Standard EXE (ataupun Enterprise Edition Controls juga enggak apa-apa kok), terus load modulenya dengan cara menklik Project > Add Module lalu ke tab Existing dan buka modulenya.
Sudah ke load sekarang. Tolong jangan diotak-atik ya Modulenya, bisa dibilang itu Copyright.
Sekarang kita buat dua buah shape dan taruh seperti ini:
image

Pastikan kedua shape itu bernama Shape1 dan Shape2
Lalu, buatlah sebuah timer dengan nama Timer1 dan set intervalnya ke 1. Nah, sekarang tuliskan kode dibawah ini:
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
Private Sub Timer1_Timer()
    If GetAsyncKeyState(37) <> 0 Then
        Shape1.Left = Shape1.Left – 30
    ElseIf GetAsyncKeyState(38) <> 0 Then
        Shape1.Top = Shape1.Top – 30
    ElseIf GetAsyncKeyState(39) <> 0 Then
        Shape1.Left = Shape1.Left + 30
    ElseIf GetAsyncKeyState(40) <> 0 Then
        Shape1.Top = Shape1.Top + 30
    End If
End Sub
Sekarang coba jalankan programnya. Anda bisa menggerakan Shape1 dengan keyboard anda.
Lanjuuuttt…
Sekarang kita akan buat supaya Shape1 tidak akan bertubrukan dengan Shape2. Nah, disini dia kita akan menggunakan Module Hit Test. Silahkan lihat (copas juga gpp) dibawah ini:
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
Private Sub Timer1_Timer()
    If GetAsyncKeyState(37) <> 0 Then
        Shape1.Left = Shape1.Left – 30
       
If HitTest(Shape1, Shape2) = True Then
            Shape1.Left = Shape1.Left + 30
        End If
    ElseIf GetAsyncKeyState(38) <> 0 Then
        Shape1.Top = Shape1.Top – 30
        
If HitTest(Shape1, Shape2) = True Then
            Shape1.Top = Shape1.Top + 30
        End If
    ElseIf GetAsyncKeyState(39) <> 0 Then
        Shape1.Left = Shape1.Left + 30
       
If HitTest(Shape1, Shape2) = True Then
            Shape1.Left = Shape1.Left – 30
        End If
    ElseIf GetAsyncKeyState(40) <> 0 Then
        Shape1.Top = Shape1.Top + 30
      
  If HitTest(Shape1, Shape2) = True Then
            Shape1.Top = Shape1.Top – 30
        End If
    End If
End Sub
Lihat semua yang saya BOLD. Itu adalah script HitTestnya.
Sekarang coba jalankan dan coba tabrak tuh Shape2. Mana bisa?? Paling cuma keserempet aja (Kecuali klo dari awal posisinya emang udah tabrakan).
Ok, itu aja. Semoga artikel ini berguna yaa. Pamit dulu deh… School bus
EIIITTTSSSS… WOY BLI (Bli Artinya kakak dalam bahasa Bali. Juga bisa dipakai dengan arti yang sama dengan mas), mana modulenyaaa???
Oh iya, sampe lupa nih aku Rolling on the floor laughing
Link downloadnya ada di websiteku kok, silahkan lihat aja link dibawah tulisan Created by VirSpectornya. Trus scroll ke bagian bawah page, ada tombol downloadnya. Silahkan ke TKP aja...

Leave a Reply