Study
LÖVE2D

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.

Editor Latihan

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.