aboutsummaryrefslogtreecommitdiff
path: root/utils/map.lua
diff options
context:
space:
mode:
Diffstat (limited to 'utils/map.lua')
-rw-r--r--utils/map.lua126
1 files changed, 0 insertions, 126 deletions
diff --git a/utils/map.lua b/utils/map.lua
deleted file mode 100644
index 1f06487..0000000
--- a/utils/map.lua
+++ /dev/null
@@ -1,126 +0,0 @@
-Class = require("libs.hump.class")
-Gamestate = require("libs.hump.gamestate")
-STI = require("libs.sti")
-Moonshine = require("libs.moonshine")
-Camera = require("libs.hump.camera")
-Windfield = require("libs.windfield")
-
-zoomFactor = 2
-player = {
- x=0,
- y=0,
- sprite=love.graphics.newImage("assets/images/player_demo.png"),
- speed=100
-}
-
-windowWidth, windowHeight = love.graphics.getDimensions()
-_w = windowWidth/zoomFactor
-_h = windowHeight/zoomFactor
-
-Map = Class {
- __include=Gamestate,
- init = function(self, mapName)
- _gameWorld = Windfield.newWorld(0,0)
- effect = Moonshine(windowWidth, windowHeight, Moonshine.effects.crt)
- .chain(Moonshine.effects.vignette)
- .chain(Moonshine.effects.scanlines)
- .chain(Moonshine.effects.chromasep)
- effect.scanlines.thickness = .2
- effect.scanlines.opacity = .5
- effect.chromasep.angle = 1
- effect.chromasep.radius = 2
-
- camera = Camera()
- camera:zoom(zoomFactor)
- currentMap = STI("assets/maps/"..mapName..".lua")
- if currentMap.layers["entities"] then
- for i,obj in pairs(currentMap.layers["entities"].objects) do
- player.x = obj.x
- player.y = obj.y
- player.collider = _gameWorld:newBSGRectangleCollider(player.x, player.y, 8, 8, 0)
- player.collider:setFixedRotation(true)
- end
- end
-
- if currentMap.layers["walls"] then
- for i,obj in pairs(currentMap.layers["walls"].objects) do
- local wall = _gameWorld:newRectangleCollider(obj.x, obj.y, obj.width, obj.height)
- wall:setType("static")
- end
- end
- end,
- entities={}
-}
-
-function Map:update(dt)
-
- local vx = 0
- local vy = 0
-
- if love.keyboard.isDown("up") then
- vy = player.speed * -1
- end
-
- if love.keyboard.isDown("down") then
- vy = player.speed
- end
-
- if love.keyboard.isDown("left") then
- vx = player.speed * -1
- end
-
- if love.keyboard.isDown("right") then
- vx = player.speed
- end
-
- player.collider:setLinearVelocity(vx, vy)
-
- _gameWorld:update(dt)
- player.x = player.collider:getX() - 4
- player.y = player.collider:getY() - 4
-
- camera:lookAt(player.x, player.y)
- currentMap:update(dt)
-
- if camera.x < _w/2 then
- camera.x = _w/2
- end
-
- if camera.y < _h/2 then
- camera.y = _h/2
- end
-
- local mapWidth = currentMap.width * currentMap.tilewidth
- local mapHeight = currentMap.height * currentMap.tileheight
-
- if camera.x > (mapWidth - _w/2) then
- camera.x = (mapWidth - _w/2)
- end
-
- if camera.y > (mapHeight - _h/2) then
- camera.y = (mapHeight - _h/2)
- end
-end
-
-function Map:draw()
- effect(function()
- camera:attach()
- drawMapLayer("ground")
- drawMapLayer("decorations")
- love.graphics.draw(player.sprite, player.x, player.y)
- drawMapLayer("foreground")
- -- _gameWorld:draw()
- camera:detach()
- end)
-end
-
-function Map:keypressed(key, scancode)
-end
-
-function drawMapLayer(layerName)
- if currentMap.layers[layerName].visible then
- currentMap:drawLayer(currentMap.layers[layerName])
- end
-end
-
-return Map \ No newline at end of file