Fix mass function use
This commit is contained in:
@@ -6,8 +6,8 @@ ball = {
|
|||||||
rad = 1,
|
rad = 1,
|
||||||
col = 7,
|
col = 7,
|
||||||
|
|
||||||
mass = function()
|
mass = function(self)
|
||||||
return rad
|
return self.rad
|
||||||
end,
|
end,
|
||||||
|
|
||||||
draw = function(self)
|
draw = function(self)
|
||||||
|
|||||||
@@ -46,8 +46,8 @@ function handle_collisions()
|
|||||||
s_xpoint = source.pos - source.vel * rewind
|
s_xpoint = source.pos - source.vel * rewind
|
||||||
t_xpoint = target.pos - target.vel * rewind
|
t_xpoint = target.pos - target.vel * rewind
|
||||||
until rewind > 1 or (s_xpoint - t_xpoint):mag() >= source.rad + target.rad
|
until rewind > 1 or (s_xpoint - t_xpoint):mag() >= source.rad + target.rad
|
||||||
local s_newvel = collision_vel(s_xpoint, source.vel, t_xpoint, target.vel, source.mass(), target.mass())
|
local s_newvel = collision_vel(s_xpoint, source.vel, t_xpoint, target.vel, source:mass(), target:mass())
|
||||||
local t_newvel = collision_vel(t_xpoint, target.vel, s_xpoint, source.vel, target.mass(), source.mass())
|
local t_newvel = collision_vel(t_xpoint, target.vel, s_xpoint, source.vel, target:mass(), source:mass())
|
||||||
source.pos = s_xpoint + source.vel * rewind
|
source.pos = s_xpoint + source.vel * rewind
|
||||||
target.pos = t_xpoint + target.vel * rewind
|
target.pos = t_xpoint + target.vel * rewind
|
||||||
source.vel = s_newvel
|
source.vel = s_newvel
|
||||||
|
|||||||
@@ -63,8 +63,8 @@ ball = {
|
|||||||
rad = 1,
|
rad = 1,
|
||||||
col = 7,
|
col = 7,
|
||||||
|
|
||||||
mass = function()
|
mass = function(self)
|
||||||
return rad
|
return self.rad
|
||||||
end,
|
end,
|
||||||
|
|
||||||
draw = function(self)
|
draw = function(self)
|
||||||
@@ -165,8 +165,8 @@ function handle_collisions()
|
|||||||
s_xpoint = source.pos - source.vel * rewind
|
s_xpoint = source.pos - source.vel * rewind
|
||||||
t_xpoint = target.pos - target.vel * rewind
|
t_xpoint = target.pos - target.vel * rewind
|
||||||
until rewind > 1 or (s_xpoint - t_xpoint):mag() >= source.rad + target.rad
|
until rewind > 1 or (s_xpoint - t_xpoint):mag() >= source.rad + target.rad
|
||||||
local s_newvel = collision_vel(s_xpoint, source.vel, t_xpoint, target.vel, source.mass(), target.mass())
|
local s_newvel = collision_vel(s_xpoint, source.vel, t_xpoint, target.vel, source:mass(), target:mass())
|
||||||
local t_newvel = collision_vel(t_xpoint, target.vel, s_xpoint, source.vel, target.mass(), source.mass())
|
local t_newvel = collision_vel(t_xpoint, target.vel, s_xpoint, source.vel, target:mass(), source:mass())
|
||||||
source.pos = s_xpoint + source.vel * rewind
|
source.pos = s_xpoint + source.vel * rewind
|
||||||
target.pos = t_xpoint + target.vel * rewind
|
target.pos = t_xpoint + target.vel * rewind
|
||||||
source.vel = s_newvel
|
source.vel = s_newvel
|
||||||
|
|||||||
Reference in New Issue
Block a user