1
我用下面的代碼:重複爆炸中LOVE2D
local BGexplosions = {}
local image = love.graphics.newImage("textures/explosion.png")
function startBGExplosion(x, y, magn)
table.insert(BGexplosions, {x = x, y = y, magn = magn, t = 0})
end
function drawBGExplosions()
for k, ex in pairs(BGexplosions) do
local sx = (ex.t/(ex.magn))
local sy = (ex.t/(ex.magn))
love.graphics.setColor(255, 255, 255, 255*(1 - (ex.t/(ex.magn))))
local ssx = 0.5 + (sx/2)
local ssy = sy
love.graphics.draw(image, ex.x - (256*ssx*0.5), ex.y - (256*ssy), 0, ssx, sst, 0, 0)
love.graphics.setColor(255, 255, 255, 180*(1-(ex.t/(4*ex.magn))))
love.graphics.circle("fill", ex.x, ex.y, 2048*(ex.t/(4*ex.magn)), 32)
end
end
function updateBGExplosions(dt)
for k, ex in pairs(BGexplosions) do
ex.t = ex.t + dt
if ex.t > 4*ex.magn then
BGexplosions[k] = nil
end
end
end
每當敵人被殺死,它重複發生爆炸的4倍。我在煙霧代碼中使用了類似的函數,但是我可以在不使用多個變量的情況下更改時間。我相當肯定錯誤是在數字值,任何人都可以告訴我如何解決這個問題?
沒有不幸的是工作,當它重複,它變得越來越大,所以我知道它的發生是因爲一個數值,但我找不到我的一生中,功能重複。 –