Input Mouse
Penjelasan
Posisi mouse saat ini bisa diambil kapan saja dengan `love.mouse.getPosition()`, sedangkan event klik ditangkap lewat callback `love.mousepressed(x, y, button)` yang dipanggil sekali tiap tombol mouse ditekan, lengkap dengan informasi tombol mana (1 = kiri, 2 = kanan, 3 = tengah) dan koordinat klik. Pola ini sering dipakai untuk UI sederhana seperti tombol di menu game — cek apakah koordinat klik jatuh di dalam area tombol (bounding box), lalu jalankan aksi terkait kalau iya.
Contoh Konsep
function love.draw()
local mx, my = love.mouse.getPosition()
love.graphics.print("Mouse: " .. mx .. ", " .. my, 10, 10)
end
function love.mousepressed(x, y, button)
if button == 1 then
-- cek apakah klik di dalam area tombol
if x >= 300 and x <= 500 and y >= 200 and y <= 250 then
print("Tombol diklik!")
end
end
end
Praktikum
Buat sebuah rectangle sebagai tombol di layar, lalu cetak "Mulai Game" ke console saat area tombol tersebut diklik dengan tombol kiri mouse.
Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.
Tips
Untuk UI dengan banyak tombol, buat fungsi helper `didaklikDalamArea(x, y, area)` supaya logic pengecekan bounding box tidak diulang-ulang untuk tiap tombol.