Efek suara pada sebuah game mempunyai andil besar bagi game tersebut untuk membuatnya menjadi popular. Sebagai contoh game Final Fantasy, pada saat game ini dibuat film animasinya efek suara yang ada pada game Final Fantasy tersebut tetap dipakai di filmnya, dan tidak hanya itu setiap gamer yang mendengar efek suaranya pasti akan ingat bahwa suara tersebut berasal dari game Final Fantasy, walaupun gamer sudah tidak memainkan lagi game tersebut selama bertahun-tahun.
3.1 Multimedia MCI
Untuk menambahkan efek suara ke dalam program game yang akan kita buat tidaklah sulit, Visual Basic telah menyediakan fasilitas tersebut dan Anda tinggal menggunakannya.
Efek suara pada program game ini akan dibuat dengan menggunakan Multimedia MCI. Untuk menggunakan Multimedia MCI Anda harus menambahkan kontrolnya ke dalam toolbox dengan cara load file Microsoft Multimedia Control 6.0 (MCI32.OCX).
Berikut cara untuk menambahkan efek suara ke dalam program grafik yang sedang Anda buat.
Klik menu Project , lalu pilih Components.
Pilih Microsoft Mutimedia Control 6.0, klik pada checkbox lalu klik tombol Apply.
Di dalam toolbox akan bertambah MMControl seperti gambar di bawah. Lalu klik tombol Close.
Tambahkan MMControl ke dalam Form1, lalu ubah properties MMControl1 Visible menjadi False.
3.2 Memainkan Suara
Setelah MMControl ditambahkan pada form, langkah selanjutnya adalah load file suara wave ke dalam MMControl yang kita buat sebelumnya. Di bawah ini ogut berikan contoh cara untuk load file suara wave ke MMControl.
Public Sub Load_All_Sound()
'Suara 1
Form1.MMControl1.Notify = False
Form1.MMControl1.Wait = True
Form1.MMControl1.Shareable = False
Form1.MMControl1.DeviceType = "WaveAudio"
Form1.MMControl1.Filename = "wave\sound1.wav"
Form1.MMControl1.Command = "Open"
'Suara 2
Form1.MMControl2.Notify = False
Form1.MMControl2.Wait = True
Form1.MMControl2.Shareable = False
Form1.MMControl2.DeviceType = "WaveAudio"
Form1.MMControl2.Filename = "wave\sound2.wav"
Form1.MMControl2.Command = "Open"
'Suara 3
Form1.MMControl3.Notify = False
Form1.MMControl3.Wait = True
Form1.MMControl3.Shareable = False
Form1.MMControl3.DeviceType = "WaveAudio"
Form1.MMControl3.Filename = "wave\bg.wav"
Form1.MMControl3.Command = "Open"
End Sub
Setelah proses load file wave selesai, langkah berikutnya suara tersebut harus dimainkan dengan perintah sebagai berikut.
Public Sub Play_Sound1()
Form1.MMControl1.Command = "Prev"
Form1.MMControl1.Command = "Play"
End Sub
Public Sub Play_Sound2()
Form1.MMControl2.Command = "Prev"
Form1.MMControl2.Command = "Play"
End Sub
Public Sub Play_Sound3()
Form1.MMControl3.Command = "Prev"
Form1.MMControl3.Command = "Play"
End Sub
Pada contoh program di folder Bab3_EfekSuara ogut menggunakan GetKeyState untuk memicu agar suara dimainkan.
Private Sub Keyboard_Ditekan()
'keluar dari program bila Escape ditekan
If (GetKeyState(vbKeyEscape) And &H1000) Then
Selesai = True
End If
'1 play suara 1
If (GetKeyState(vbKey1) And &H1000) Then
Play_Sound1
End If
'2 stop suara 1
If (GetKeyState(vbKey2) And &H1000) Then
Form1.MMControl1.Command = "Stop"
End If
'3 play suara 2
If (GetKeyState(vbKey3) And &H1000) Then
Play_Sound2
End If
'4 stop suara 2
If (GetKeyState(vbKey4) And &H1000) Then
Form1.MMControl2.Command = "Stop"
End If
End Sub
3.3 Suara Latar Belakang
Sebuah game akan mempunyai nilai lebih jika menggunakan suara latar belakang atau biasa kita sebut dengan background sound.
Suara latar belakang mempunyai durasi lebih panjang dari efek suara dan dimainkan secara terus menerus tanpa henti.
Untuk membuat suara latar belakang dengan Visual Basic caranya sama dengan subbab 3.2 hanya perlu ditambahkan sebuah kondisi pada main looping agar suara dimainkan secara terus menerus tanpa henti.
'main looping
Do While Not Selesai
'deteksi keyboard dan proses render
'diulang hingga selesai
Keyboard_Ditekan
Render_Objek
'agar suara BG terus mengulang
If Form1.MMControl3.NotifyValue = 1 Then
Play_Sound3
End If
'swapbuffer dan doevent
SwapBuffers (My_Form.hDC)
DoEvents
Loop
Salam Jack Onil
Heriady
heriady.yoh@gmail.com
Artikel terkait
Membuat Game dengan VB 6
|
Tidak ada komentar:
Posting Komentar