diff options
Diffstat (limited to 'src/specks.lua')
| -rw-r--r-- | src/specks.lua | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/specks.lua b/src/specks.lua index 7c0ef11..ec24378 100644 --- a/src/specks.lua +++ b/src/specks.lua @@ -57,6 +57,7 @@ function Speck_Sys.new() self.forcex = 0 self.forcey = 0 + self.damping = 0 self.initial_velx = 0 self.initial_vely = 0 @@ -168,8 +169,10 @@ function Speck_Sys:update(dt) goto next_speck_update end - data.vel[i].x = data.vel[i].x + self.forcex * dt - data.vel[i].y = data.vel[i].y + self.forcey * dt + local dampx = -data.vel[i].x * self.damping + local dampy = -data.vel[i].y * self.damping + data.vel[i].x = data.vel[i].x + (dampx + self.forcex) * dt + data.vel[i].y = data.vel[i].y + (dampy + self.forcey) * dt -- move and bounce data.pos[i].x = data.pos[i].x + data.vel[i].x * dt @@ -238,6 +241,7 @@ SPECK_EXPORTED_ARGS = { "forcey", "initial_velx", "initial_vely", + "damping", "spread", "lifetime_min", "lifetime_max", |
