summaryrefslogtreecommitdiffhomepage
path: root/not
diff options
context:
space:
mode:
Diffstat (limited to 'not')
-rw-r--r--not/Hero.lua25
-rw-r--r--not/PhysicalBody.lua2
-rw-r--r--not/Sprite.lua3
3 files changed, 12 insertions, 18 deletions
diff --git a/not/Hero.lua b/not/Hero.lua
index eee7a83..362ebf9 100644
--- a/not/Hero.lua
+++ b/not/Hero.lua
@@ -4,14 +4,10 @@
Hero = {
-- General and physics
name = "empty",
- body = nil,
- shape = nil,
- fixture = nil,
- sprite = nil,
- rotate = 0, -- "angle" would sound better
+ angle = 0,
facing = 1,
max_velocity = 105,
- world = nil, -- game world
+ world = --[[not.World]]nil,
-- Combat
combo = 0,
lives = 3,
@@ -28,15 +24,12 @@ Hero = {
jumpnumber = 2,
-- Keys
controlset = nil,
- -- HUD
+ -- Statics
portrait_sprite = nil,
portrait_frame = nil,
portrait_sheet = require "nautsicons",
portrait_box = love.graphics.newQuad( 0, 15, 32,32, 80,130),
- -- Sounds
sfx = require "sounds",
- -- Animations table
- animations = nil
}
-- `Hero` is a child of `PhysicalBody`.
@@ -62,10 +55,10 @@ function Hero:init (name, world, x, y)
local fileName = name or Hero.name -- INITIAL from metatable
local imagePath = string.format("assets/nauts/%s.png", fileName)
PhysicalBody.init(self, world, x, y, imagePath)
- -- To be removed or heavily changed.
+ -- TODO: probably should be removed or heavily changed.
self.world = world
self.punchcd = 0
- -- To be moved to PhysicalBody abstract.
+ -- TODO: move following lines to PhysicalBody, cut if not needed, refectorize to subfunctions in target class.
local group = -1-#world.Nauts
self.body = love.physics.newBody(world.world, x, y, "dynamic")
self.shape = love.physics.newRectangleShape(10, 16)
@@ -107,9 +100,9 @@ function Hero:update(dt)
-- Salto
if self.salto and (self.current == self.animations.walk or self.current == self.animations.default) then
- self.rotate = (self.rotate + 17 * dt * self.facing) % 360
- elseif self.rotate ~= 0 then
- self.rotate = 0
+ self.angle = (self.angle + 17 * dt * self.facing) % 360
+ elseif self.angle ~= 0 then
+ self.angle = 0
end
-- # HORIZONTAL MOVEMENT
@@ -302,7 +295,7 @@ function Hero:draw(offset_x, offset_y, scale, debug)
local draw_y = (approx(y) + offset_y) * scale
local draw_x = (math.floor(x) + offset_x) * scale
-- sprite draw
- Sprite.draw(self, draw_x, draw_y, self.rotate, self.facing*scale, scale, 12, 15)
+ Sprite.draw(self, draw_x, draw_y, self.angle, self.facing*scale, scale, 12, 15)
-- debug draw
if debug then
for _,fixture in pairs(self.body:getFixtureList()) do
diff --git a/not/PhysicalBody.lua b/not/PhysicalBody.lua
index 1f91faf..e726ea3 100644
--- a/not/PhysicalBody.lua
+++ b/not/PhysicalBody.lua
@@ -19,4 +19,4 @@ end
-- Initializator of `PhysicalBody`.
function PhysicalBody:init (world, x, y, imagePath)
Sprite.init(self, imagePath)
-end \ No newline at end of file
+end
diff --git a/not/Sprite.lua b/not/Sprite.lua
index 6342f60..d4cde59 100644
--- a/not/Sprite.lua
+++ b/not/Sprite.lua
@@ -1,4 +1,4 @@
--- `Sprite`
+--- `Sprite`
-- Abstract class for drawable animated entities.
Sprite = {
animations =--[[table with animations]]nil,
@@ -80,6 +80,7 @@ end
-- Drawing self to LOVE2D buffer.
-- If there is no Quad, it will draw entire image. It won't draw anything if there is no image.
+-- TODO: it doesn't follow same pattern as `not.Hero.draw`. It should implement so it can be called from `not.World`.
function Sprite:draw (...)
local i, q = self:getImage(), self:getQuad()
if i then