Particle System
Penjelasan
Particle system adalah cara efisien menghasilkan efek visual dari banyak elemen kecil (percikan api, asap, debu) tanpa mengelola tiap partikel secara manual satu per satu. LÖVE2D menyediakan `love.graphics.newParticleSystem(gambar, jumlahMaksimal)` yang otomatis mengurus spawn, pergerakan, dan penghapusan partikel berdasarkan pengaturan yang diberikan. Particle system harus diperbarui tiap frame dengan `:update(dt)` seperti objek lain, dan digambar dengan `love.graphics.draw(particleSystem, x, y)`. Pengaturan seperti `setParticleLifetime`, `setEmissionRate`, dan `setSpeed` menentukan bagaimana efek terlihat.
Contoh Konsep
local ps
local gambarPartikel
function love.load()
gambarPartikel = love.graphics.newImage("partikel.png")
ps = love.graphics.newParticleSystem(gambarPartikel, 100)
ps:setParticleLifetime(0.5, 1.5)
ps:setEmissionRate(50)
ps:setSpeed(50, 150)
ps:setSizes(1, 0.2)
end
function love.update(dt)
ps:update(dt)
end
function love.draw()
love.graphics.draw(ps, 400, 300)
end
Praktikum
Buat particle system efek ledakan sederhana yang muncul di posisi klik mouse, dengan lifetime pendek (0.3-0.8 detik) dan emission rate tinggi.
Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.
Tips
Set `setEmissionRate(0)` dan panggil `ps:emit(jumlah)` secara manual untuk efek sesaat (ledakan sekali), dibanding emission rate kontinu yang cocok untuk efek berkelanjutan seperti asap.