Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- Create a dynamic layer (data can be changed)
- mapRenderer = {}
- function mapRenderer(map)
- love.physics.setMeter(32)
- world = love.physics.newWorld(0,0)
- map:box2d_init(world)
- local layer = map:addCustomLayer("Sprites",6)
- -- Get the spawnpoint object
- local player
- for k, object in pairs(map.objects) do
- if object.name == "Player" then
- player = object
- break
- end
- end
- -- Create the player object (positioned on the spawnpoint initially)
- local sprite = love.graphics.newImage("graphics/sprites/malePlayer.png")
- layer.player = {
- sprite = sprite,
- x = player.x,
- y = player.y,
- ox = sprite:getWidth() / 32,
- oy = sprite:getHeight() / 2.16
- }
- -- Player controls
- layer.update = function(self, dt)
- -- 96 pixels per second
- local speed = 96 * dt
- -- Move player
- -- Run
- if love.keyboard.isDown("z") then
- speed = speed * 1.5
- end
- -- Move left
- if love.keyboard.isDown("left") then
- self.player.x = self.player.x - speed
- end
- -- Move
- if love.keyboard.isDown("right") then
- self.player.x = self.player.x + speed
- end
- end
- -- Draw player to screen
- layer.draw = function(self)
- love.graphics.draw(
- self.player.sprite,
- math.floor(self.player.x),
- math.floor(self.player.y),
- 0,
- 1,
- 1,
- self.player.ox,
- self.player.oy
- )
- end
- -- Remove original spawnpoint layer
- map:removeLayer("spawnObj")
- end
- return mapRenderer
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement