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 dx = missile.history[1].x - missile.x
local dy = missile.history[1].y - missile.y local dy = missile.history[1].y - missile.y
local distance = math.sqrt(dx * dx + dy * dy) local distance = math.sqrt(dx * dx + dy * dy)
missile.history[1].length = distance if distance >= 1 / scale then
missile.trail_length = missile.trail_length + distance missile.history[1].length = distance
table.insert(missile.history, 1, { missile.trail_length = missile.trail_length + distance
x = missile.x, table.insert(missile.history, 1, {
y = missile.y, x = missile.x,
length = nil, y = missile.y,
}) length = nil,
-- Remove the oldest segments })
while missile.trail_length > missile_trail_length do -- Remove the oldest segments
local length = missile.history[#missile.history].length while missile.trail_length > missile_trail_length do
missile.trail_length = missile.trail_length - length local length = missile.history[#missile.history].length
table.remove(missile.history) missile.trail_length = missile.trail_length - length
table.remove(missile.history)
end
end end
print(#missile.history) print(#missile.history)
end end