From 65bedc623f667e9b218b5dd5193433d5599fa1ff Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Sun, 27 Nov 2016 18:05:36 -0300 Subject: Add walking up and walking down again, modularize motion limitation and fix jumping --- .../main.lua | 2 ++ .../scripts/bola/limit.lua | 16 ++++++++++++++ .../scripts/bola/motion.lua | 25 ++++++++++++++++------ 3 files changed, 37 insertions(+), 6 deletions(-) create mode 100644 src/gnu_and_bola_-_the_libre_beat_em_up_game/scripts/bola/limit.lua diff --git a/src/gnu_and_bola_-_the_libre_beat_em_up_game/main.lua b/src/gnu_and_bola_-_the_libre_beat_em_up_game/main.lua index c54f601..3afcce6 100644 --- a/src/gnu_and_bola_-_the_libre_beat_em_up_game/main.lua +++ b/src/gnu_and_bola_-_the_libre_beat_em_up_game/main.lua @@ -19,6 +19,7 @@ function love.load() bolaAnimation = require 'scripts.bola.animation' bolaMotion = require 'scripts.bola.motion' bolaGravity = require 'scripts.bola.gravity' + bolaLimit = require 'scripts.bola.limit' end function love.keypressed(key) @@ -33,6 +34,7 @@ function love.update(dt) bolaAnimation.animation(dt) bolaMotion.motion(dt) bolaGravity.motion(dt) + bolaLimit.motion(dt) end function love.draw() diff --git a/src/gnu_and_bola_-_the_libre_beat_em_up_game/scripts/bola/limit.lua b/src/gnu_and_bola_-_the_libre_beat_em_up_game/scripts/bola/limit.lua new file mode 100644 index 0000000..5bc2f2f --- /dev/null +++ b/src/gnu_and_bola_-_the_libre_beat_em_up_game/scripts/bola/limit.lua @@ -0,0 +1,16 @@ +local limitModule = {} + +function limitModule.motion(dt) + if character.bola.position.x <= character.bola.origin.x then + character.bola.position.x = character.bola.origin.x + elseif character.bola.position.x >= windowProfile.mode.width - character.bola.origin.x then + character.bola.position.x = windowProfile.mode.width - character.bola.origin.x + end + if character.bola.position.y <= character.bola.origin.y then + character.bola.position.y = character.bola.origin.y + elseif character.bola.position.y >= windowProfile.mode.height - character.bola.origin.y then + character.bola.position.y = windowProfile.mode.height - character.bola.origin.y + end +end + +return limitModule diff --git a/src/gnu_and_bola_-_the_libre_beat_em_up_game/scripts/bola/motion.lua b/src/gnu_and_bola_-_the_libre_beat_em_up_game/scripts/bola/motion.lua index 89d3832..e0d5465 100644 --- a/src/gnu_and_bola_-_the_libre_beat_em_up_game/scripts/bola/motion.lua +++ b/src/gnu_and_bola_-_the_libre_beat_em_up_game/scripts/bola/motion.lua @@ -9,6 +9,11 @@ function motionModule.motion(dt) elseif love.keyboard.isScancodeDown(button.right) then walkRight(dt) end + if love.keyboard.isScancodeDown(button.up) then + walkUp(dt) + elseif love.keyboard.isScancodeDown(button.down) then + walkDown(dt) + end end function jump(dt) @@ -19,19 +24,27 @@ function jump(dt) end function walkLeft(dt) - if character.bola.position.x >= character.bola.origin.x then - character.bola.position.x = character.bola.position.x - (character.bola.velocity * dt) - end + character.bola.position.x = character.bola.position.x - (character.bola.velocity * dt) quad.bola = character.bola.walk[math.floor(character.bola.walk.start)] character.bola.scale.x = -1 end function walkRight(dt) - if character.bola.position.x <= windowProfile.mode.width - character.bola.origin.x then - character.bola.position.x = character.bola.position.x + (character.bola.velocity * dt) - end + character.bola.position.x = character.bola.position.x + (character.bola.velocity * dt) quad.bola = character.bola.walk[math.floor(character.bola.walk.start)] character.bola.scale.x = 1 end +function walkUp(dt) + character.bola.position.y = character.bola.position.y - (character.bola.velocity * dt) + character.bola.jump.ground = character.bola.position.y + quad.bola = character.bola.walk[math.floor(character.bola.walk.start)] +end + +function walkDown(dt) + character.bola.position.y = character.bola.position.y + (character.bola.velocity * dt) + character.bola.jump.ground = character.bola.position.y + quad.bola = character.bola.walk[math.floor(character.bola.walk.start)] +end + return motionModule -- cgit v1.2.3-54-g00ecf