Study
LÖVE2D

Load Asset & Resource Management

Penjelasan

Memuat asset (gambar, font, suara) dari disk adalah operasi yang relatif lambat, jadi praktik yang benar adalah memuat semuanya sekali di `love.load()` dan menyimpannya di tabel terpusat, bukan memanggil `love.graphics.newImage()` berulang kali di tempat lain (apalagi di dalam `love.draw()` yang berjalan tiap frame). Untuk project dengan banyak asset, pola umum adalah tabel `Assets` terpisah berisi semua resource yang sudah dimuat, sehingga bagian kode lain tinggal mengambil referensinya (`Assets.gambar.karakter`) tanpa perlu tahu detail bagaimana file itu dimuat.

Contoh Konsep

local Assets = {
    gambar = {},
    font = {},
    suara = {}
}

function love.load()
    Assets.gambar.karakter = love.graphics.newImage("karakter.png")
    Assets.gambar.musuh = love.graphics.newImage("musuh.png")
    Assets.font.judul = love.graphics.newFont("font.ttf", 32)
    Assets.suara.lompat = love.audio.newSource("lompat.wav", "static")
end

function love.draw()
    love.graphics.setFont(Assets.font.judul)
    love.graphics.draw(Assets.gambar.karakter, 100, 100)
end

Praktikum

Buat tabel Assets terpusat yang memuat 2 gambar dan 1 font di love.load, lalu gunakan keduanya di love.draw tanpa memanggil newImage/newFont lagi di luar love.load.

Editor Latihan

Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.

Tips

Kalau game punya banyak level dengan asset berbeda-beda, pertimbangkan memuat asset per level saat level dimulai, bukan semua asset sekaligus di awal, supaya waktu loading awal tidak terlalu lama.