From b6e0a385398f2b6f4a5595415e725dc9f0f11c85 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Sat, 26 Nov 2016 16:33:47 -0300 Subject: Add platformer-style jumping --- .../scripts/bola/jump.lua | 12 +++++++----- .../scripts/bola/motion/gravity.lua | 1 + .../scripts/bola/motion/motion.lua | 7 +++---- 3 files changed, 11 insertions(+), 9 deletions(-) (limited to 'src/gnu_and_bola_-_the_libre_beat_em_up_game/scripts') diff --git a/src/gnu_and_bola_-_the_libre_beat_em_up_game/scripts/bola/jump.lua b/src/gnu_and_bola_-_the_libre_beat_em_up_game/scripts/bola/jump.lua index e736323..42c1868 100644 --- a/src/gnu_and_bola_-_the_libre_beat_em_up_game/scripts/bola/jump.lua +++ b/src/gnu_and_bola_-_the_libre_beat_em_up_game/scripts/bola/jump.lua @@ -1,8 +1,10 @@ return { love.graphics.newQuad(metaSprites.bola.x * 5, metaSprites.bola.y * 2, metaSprites.bola.x, metaSprites.bola.y, metaSprites.bola.image:getDimensions()), - start = 1, - fps = 9, - height = -300, - velocity = 0, - ground = windowProfile.mode.height / 2, + start = 1, + fps = 9, + height = -250, + velocity = 0, + ground = windowProfile.mode.height / 2, + higher = 0.15, + higherMax = 0.15, } diff --git a/src/gnu_and_bola_-_the_libre_beat_em_up_game/scripts/bola/motion/gravity.lua b/src/gnu_and_bola_-_the_libre_beat_em_up_game/scripts/bola/motion/gravity.lua index 4cc76c4..98ba985 100644 --- a/src/gnu_and_bola_-_the_libre_beat_em_up_game/scripts/bola/motion/gravity.lua +++ b/src/gnu_and_bola_-_the_libre_beat_em_up_game/scripts/bola/motion/gravity.lua @@ -13,6 +13,7 @@ function gravity(dt) if character.bola.position.y > character.bola.jump.ground then character.bola.jump.velocity = 0 character.bola.position.y = character.bola.jump.ground + character.bola.jump.higher = character.bola.jump.higherMax end end diff --git a/src/gnu_and_bola_-_the_libre_beat_em_up_game/scripts/bola/motion/motion.lua b/src/gnu_and_bola_-_the_libre_beat_em_up_game/scripts/bola/motion/motion.lua index 2da8f69..89d3832 100644 --- a/src/gnu_and_bola_-_the_libre_beat_em_up_game/scripts/bola/motion/motion.lua +++ b/src/gnu_and_bola_-_the_libre_beat_em_up_game/scripts/bola/motion/motion.lua @@ -1,7 +1,7 @@ local motionModule = {} function motionModule.motion(dt) - if love.keyboard.isScancodeDown(button.a) then + if character.bola.jump.higher > 0 and love.keyboard.isScancodeDown(button.a) then jump(dt) end if love.keyboard.isScancodeDown(button.left) then @@ -12,9 +12,8 @@ function motionModule.motion(dt) end function jump(dt) - if character.bola.jump.velocity == 0 then - character.bola.jump.velocity = character.bola.jump.height - end + character.bola.jump.higher = character.bola.jump.higher - dt + character.bola.jump.velocity = character.bola.jump.velocity + character.bola.jump.height * (dt / character.bola.jump.higherMax) -- quad.bola = character.bola.jump[math.floor(character.bola.jump.start)] end -- cgit v1.2.3-54-g00ecf