Suara & Musik (love.audio)
Penjelasan
Modul `love.audio` menangani pemutaran suara lewat objek `Source` yang dibuat dengan `love.audio.newSource(file, tipe)`. Tipe `"static"` cocok untuk efek suara pendek (loncat, tembak) karena dimuat penuh ke memori dan bisa diputar berulang cepat, sedangkan tipe `"stream"` cocok untuk musik latar berdurasi panjang karena dibaca sedikit demi sedikit dari disk. Source punya method seperti `play()`, `stop()`, `setLooping(true)`, dan `setVolume()` untuk mengontrol pemutaran, memberi fleksibilitas seperti mengulang musik latar terus-menerus sementara efek suara hanya diputar sekali tiap event terjadi.
Contoh Konsep
local suaraLompat
local musikLatar
function love.load()
suaraLompat = love.audio.newSource("lompat.wav", "static")
musikLatar = love.audio.newSource("musik.mp3", "stream")
musikLatar:setLooping(true)
musikLatar:setVolume(0.5)
musikLatar:play()
end
function love.keypressed(key)
if key == "space" then
suaraLompat:play()
end
end
Praktikum
Muat efek suara "koin.wav" sebagai static dan musik latar "latar.mp3" sebagai stream yang looping otomatis diputar saat game dimulai.
Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.
Tips
Panggil `suaraLompat:stop()` sebelum `suaraLompat:play()` kalau ingin suara langsung mengulang dari awal walau belum selesai diputar, misalnya untuk efek tembakan beruntun.