Study
LÖVE2D

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.

Editor Latihan

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.