From 7b30c931282805b19c304f604ca8c6f77668540e Mon Sep 17 00:00:00 2001 From: Tyrel Souza Date: Wed, 17 Jan 2018 23:06:17 -0500 Subject: [PATCH] physics collisions --- main.lua | 30 +++++++++++++++++++++++++++--- player.lua | 6 +++--- 2 files changed, 30 insertions(+), 6 deletions(-) diff --git a/main.lua b/main.lua index 1ad892f..d6dc6ff 100644 --- a/main.lua +++ b/main.lua @@ -1,6 +1,6 @@ --[[ LOVE STUFF ]] function love.load() - + myWorld = love.physics.newWorld(0, 100) sprites = {} sprites.coin_sheet = love.graphics.newImage('sprites/coin_sheet.png') @@ -8,13 +8,37 @@ function love.load() sprites.player_stand = love.graphics.newImage('sprites/player_stand.png') require('player') + + platforms = {} + + spawnPlatform(50, 200, 300, 30) end function love.update(dt) - + myWorld:update(dt) end function love.draw() - love.graphics.draw(sprites.player_stand, player.x, player.y) + love.graphics.draw( + sprites.player_stand, + player.body:getX(), + player.body:getY(), + nil, nil, nil, + sprites.player_stand:getWidth()/2, sprites.player_stand:getHeight()/2) + for i, p in ipairs(platforms) do + love.graphics.rectangle("fill", p.body:getX(), p.body:getY(), p.width, p.height) + end +end + + +function spawnPlatform(x, y, width, height) + local platform = {} + platform.body = love.physics.newBody(myWorld, x, y, 'static') + platform.shape = love.physics.newRectangleShape(width/2, height/2, width, height) + platform.fixture = love.physics.newFixture(platform.body, platform.shape) + platform.width = width + platform.height = height + + table.insert(platforms, platform) end diff --git a/player.lua b/player.lua index b743272..bf146c6 100644 --- a/player.lua +++ b/player.lua @@ -1,4 +1,4 @@ player = {} - -player.x = 100 -player.y = 100 +player.body = love.physics.newBody(myWorld, 100, 100, 'dynamic') +player.shape = love.physics.newRectangleShape(66, 92) +player.fixture = love.physics.newFixture(player.body, player.shape)