Only add new trail segment every one pixel

This commit is contained in:
Juhani Krekelä 2023-06-03 21:34:32 +03:00
parent e98af7966f
commit 0e410d262d
1 changed files with 14 additions and 12 deletions

View File

@ -188,18 +188,20 @@ function updateMissiles(dt)
local dx = missile.history[1].x - missile.x
local dy = missile.history[1].y - missile.y
local distance = math.sqrt(dx * dx + dy * dy)
missile.history[1].length = distance
missile.trail_length = missile.trail_length + distance
table.insert(missile.history, 1, {
x = missile.x,
y = missile.y,
length = nil,
})
-- Remove the oldest segments
while missile.trail_length > missile_trail_length do
local length = missile.history[#missile.history].length
missile.trail_length = missile.trail_length - length
table.remove(missile.history)
if distance >= 1 / scale then
missile.history[1].length = distance
missile.trail_length = missile.trail_length + distance
table.insert(missile.history, 1, {
x = missile.x,
y = missile.y,
length = nil,
})
-- Remove the oldest segments
while missile.trail_length > missile_trail_length do
local length = missile.history[#missile.history].length
missile.trail_length = missile.trail_length - length
table.remove(missile.history)
end
end
print(#missile.history)
end