summaryrefslogtreecommitdiffhomepage
path: root/not/Ray.lua
diff options
context:
space:
mode:
Diffstat (limited to 'not/Ray.lua')
-rw-r--r--not/Ray.lua44
1 files changed, 12 insertions, 32 deletions
diff --git a/not/Ray.lua b/not/Ray.lua
index 16a9bee..4ae640a 100644
--- a/not/Ray.lua
+++ b/not/Ray.lua
@@ -1,21 +1,10 @@
-require "not.Object"
+--- That awesome effect that blinks when player dies!
+Ray = require "not.Object":extends()
---- `Ray`
--- That awesome effect that blinks when player dies!
-Ray = Object:extends()
-
-Ray.naut =--[[not.Hero]]nil
-Ray.world =--[[not.World]]nil
-Ray.canvas =--[[love.graphics.newCanvas]]nil
-Ray.delay = 0.3
-
-function Ray:new (naut, world)
- self.naut = naut
+function Ray:new (source, world)
+ self.source = source
self.world = world
- -- Cavas, this is temporary, I believe.
- local scale = getScale()
- local w, h = love.graphics.getWidth(), love.graphics.getHeight()
- self.canvas = love.graphics.newCanvas(w/scale, h/scale)
+ self.delay = 0.3
end
function Ray:update (dt)
@@ -26,25 +15,16 @@ function Ray:update (dt)
return false
end
-function Ray:draw (offset_x, offset_y, scale)
- love.graphics.setCanvas(self.canvas)
- love.graphics.clear()
+-- TODO: Ray should use Camera boundaries just-in-case.
+-- TODO: Ray uses magic numbers.
+function Ray:draw ()
love.graphics.setColor(255, 247, 228, 247)
love.graphics.setLineStyle("rough")
love.graphics.setLineWidth(self.delay*160)
- local x, y = self.naut:getPosition()
- local m = self.world.map
- local dy = m.height
- if y > m.center_y then
- dy = -dy
- end
- love.graphics.line(-x+offset_x,-y+offset_y-dy*0.7,x+offset_x,y+dy*0.7+offset_y)
- -- reset
- love.graphics.setCanvas()
- love.graphics.setLineWidth(1)
- love.graphics.setColor(255,255,255,255)
- -- draw on screen
- love.graphics.draw(self.canvas, 0, 0, 0, scale, scale)
+
+ local x, y = self.source:getPosition()
+
+ love.graphics.line(x, y, -x, -y)
end
return Ray