Input Keyboard
Penjelasan
LÖVE2D menyediakan dua cara membaca input keyboard: callback `love.keypressed(key)` yang dipanggil sekali tiap tombol ditekan (cocok untuk aksi seperti lompat atau pause), dan `love.keyboard.isDown(key)` yang dicek terus di dalam `love.update` untuk gerakan kontinu seperti berjalan. Memilih pendekatan yang tepat penting: pakai `keypressed` untuk aksi sesaat supaya tidak terpicu berulang tiap frame, dan pakai `isDown` untuk gerakan yang harus terasa halus selama tombol ditahan.
Contoh Konsep
local x = 400
function love.update(dt)
-- gerakan kontinu selama tombol ditahan
if love.keyboard.isDown("right") then
x = x + 200 * dt
elseif love.keyboard.isDown("left") then
x = x - 200 * dt
end
end
function love.keypressed(key)
-- aksi sesaat, sekali tiap penekanan
if key == "space" then
print("Lompat!")
end
end
Praktikum
Buat kotak yang bergerak naik saat tombol "up" ditahan, dan cetak pesan "Reset" ke console saat tombol "r" ditekan sekali.
Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.
Tips
Kalikan kecepatan gerakan dengan `dt` (delta time), bukan angka tetap per frame, supaya kecepatan game tetap konsisten di komputer dengan frame rate berbeda.