diff options
author | Aki <nthirtyone@gmail.com> | 2017-02-09 15:00:45 +0100 |
---|---|---|
committer | Aki <nthirtyone@gmail.com> | 2017-02-09 15:00:45 +0100 |
commit | f394c1e293e0da77514e03441cf3867ff70f6fbc (patch) | |
tree | 948ababb6251a1db9845a202e83e7bc977829681 | |
parent | a7b1bcc6872579b0ed8dbce399352d3afca1a80f (diff) | |
download | roflnauts-f394c1e293e0da77514e03441cf3867ff70f6fbc.zip roflnauts-f394c1e293e0da77514e03441cf3867ff70f6fbc.tar.gz roflnauts-f394c1e293e0da77514e03441cf3867ff70f6fbc.tar.bz2 |
Fixed floating characters bug
-rw-r--r-- | player.lua | 6 |
1 files changed, 4 insertions, 2 deletions
@@ -292,9 +292,11 @@ function Player:draw(offset_x, offset_y, scale, debug) local scale = scale or 1 local debug = debug or false local x, y = self:getPosition() - -- pixel grid + -- pixel grid ; `approx` selected to prevent floating characters on certain conditions + local approx = math.floor + if (y - math.floor(y)) > 0.5 then approx = math.ceil end + local draw_y = (approx(y) + offset_y) * scale local draw_x = (math.floor(x) + offset_x) * scale - local draw_y = (math.floor(y) + offset_y) * scale -- sprite draw Animated.draw(self, draw_x, draw_y, self.rotate, self.facing*scale, scale, 12, 15) -- debug draw |