summaryrefslogtreecommitdiffhomepage
path: root/platform.lua
diff options
context:
space:
mode:
authorAki <nthirtyone@gmail.com>2017-04-09 22:07:04 +0200
committerAki <nthirtyone@gmail.com>2017-04-09 22:07:04 +0200
commit0dd01913fe0eefc7ba4bc0797877f40fdedf9315 (patch)
tree8d270eb07f589d2487b3ce66d4865e5a4718042a /platform.lua
parent55b0cf1a22e4a7e41fe00aa693445d6c4bd0652d (diff)
parenta03c1125f10fbbad253a0efc4727072fcbd55345 (diff)
downloadroflnauts-0dd01913fe0eefc7ba4bc0797877f40fdedf9315.zip
roflnauts-0dd01913fe0eefc7ba4bc0797877f40fdedf9315.tar.gz
roflnauts-0dd01913fe0eefc7ba4bc0797877f40fdedf9315.tar.bz2
Merge branch 'com'
Diffstat (limited to 'platform.lua')
-rw-r--r--platform.lua73
1 files changed, 0 insertions, 73 deletions
diff --git a/platform.lua b/platform.lua
deleted file mode 100644
index 908cf73..0000000
--- a/platform.lua
+++ /dev/null
@@ -1,73 +0,0 @@
--- `Platform`
--- Static platform physical object with a sprite. `Players` can walk on it.
--- Collision category: [1]
-
--- WHOLE CODE HAS FLAG OF "need a cleanup"
-require "animated"
-
--- Metatable of `Platform`
--- nils initialized in constructor
-Platform = {
- body = nil,
- shape = nil,
- fixture = nil,
- world = nil,
-}
-Platform.__index = Platform
-setmetatable(Platform, Animated)
-
--- Constructor of `Platform`
-function Platform:new (game, world, x, y, shape, sprite, animations)
- local o = {}
- setmetatable(o, self)
- o.body = love.physics.newBody(world, x, y)
- -- MULTIPLE SHAPES NEED TO BE REWRITED!
- o.shape = {}
- if type(shape[1]) == "number" then
- local poly = love.physics.newPolygonShape(shape)
- table.insert(o.shape, poly)
- o.fixture = love.physics.newFixture(o.body, poly)
- o.fixture:setCategory(1)
- o.fixture:setFriction(0.2)
- else
- for i,v in pairs(shape) do
- local poly = love.physics.newPolygonShape(v)
- table.insert(o.shape, poly)
- local fixture = love.physics.newFixture(o.body, poly)
- fixture:setCategory(1)
- fixture:setFriction(0.2)
- end
- end
- -- END HERE
- o:setSprite(love.graphics.newImage(sprite))
- o:setAnimationsList(animations)
- o.world = game
- return o
-end
-
--- Position
-function Platform:getPosition()
- return self.body:getPosition()
-end
-
--- Draw of `Platform`
-function Platform:draw (offset_x, offset_y, scale, debug)
- -- locals
- local offset_x = offset_x or 0
- local offset_y = offset_y or 0
- local scale = scale or 1
- local debug = debug or false
- local x, y = self:getPosition()
- -- pixel grid
- 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, 0, scale, scale)
- -- debug draw
- if debug then
- love.graphics.setColor(255, 69, 0, 140)
- for i,v in pairs(self.shape) do
- love.graphics.polygon("fill", self.world.camera:translatePoints(self.body:getWorldPoints(v:getPoints())))
- end
- end
-end \ No newline at end of file