From 776e6debd5694a737be2b9b9598ab84a0ac0127a Mon Sep 17 00:00:00 2001 From: Andrew Minnich Date: Wed, 4 Jul 2018 18:45:26 -0400 Subject: [PATCH] update demo for love 11.x --- main.lua | 144 +++++++++++++++++++++++++++---------------------------- 1 file changed, 72 insertions(+), 72 deletions(-) diff --git a/main.lua b/main.lua index 3488c0a..c7a86a4 100644 --- a/main.lua +++ b/main.lua @@ -1,18 +1,18 @@ local baton = require 'baton' local player = baton.new { - controls = { - left = {'key:left', 'axis:leftx-', 'button:dpleft'}, - right = {'key:right', 'axis:leftx+', 'button:dpright'}, - up = {'key:up', 'axis:lefty-', 'button:dpup'}, - down = {'key:down', 'axis:lefty+', 'button:dpdown'}, - action = {'key:x', 'button:a', 'mouse:1'}, - }, - pairs = { - move = {'left', 'right', 'up', 'down'} - }, - joystick = love.joystick.getJoysticks()[1], - deadzone = .33, + controls = { + left = {'key:left', 'axis:leftx-', 'button:dpleft'}, + right = {'key:right', 'axis:leftx+', 'button:dpright'}, + up = {'key:up', 'axis:lefty-', 'button:dpup'}, + down = {'key:down', 'axis:lefty+', 'button:dpdown'}, + action = {'key:x', 'button:a', 'mouse:1'}, + }, + pairs = { + move = {'left', 'right', 'up', 'down'} + }, + joystick = love.joystick.getJoysticks()[1], + deadzone = .33, } local pairDisplayAlpha = 0 @@ -24,82 +24,82 @@ local updates = 0 local updateTime = 0 function love.update(dt) - local time = love.timer.getTime() - - player:update() + local time = love.timer.getTime() - pairDisplayTargetAlpha = player:pressed 'move' and 255 - or player:released 'move' and 255 - or player:down 'move' and 100 - or 0 - if pairDisplayAlpha > pairDisplayTargetAlpha then - pairDisplayAlpha = pairDisplayAlpha - 1000 * dt - end - if pairDisplayAlpha < pairDisplayTargetAlpha then - pairDisplayAlpha = pairDisplayTargetAlpha - end + player:update() - buttonDisplayTargetAlpha = player:pressed 'action' and 255 - or player:released 'action' and 255 - or player:down 'action' and 100 - or 0 - if buttonDisplayAlpha > buttonDisplayTargetAlpha then - buttonDisplayAlpha = buttonDisplayAlpha - 1000 * dt - end - if buttonDisplayAlpha < buttonDisplayTargetAlpha then - buttonDisplayAlpha = buttonDisplayTargetAlpha - end + pairDisplayTargetAlpha = player:pressed 'move' and 1 + or player:released 'move' and 1 + or player:down 'move' and .5 + or 0 + if pairDisplayAlpha > pairDisplayTargetAlpha then + pairDisplayAlpha = pairDisplayAlpha - 4 * dt + end + if pairDisplayAlpha < pairDisplayTargetAlpha then + pairDisplayAlpha = pairDisplayTargetAlpha + end - updateTime = updateTime + (love.timer.getTime() - time) - updates = updates + 1 + buttonDisplayTargetAlpha = player:pressed 'action' and 1 + or player:released 'action' and 1 + or player:down 'action' and .5 + or 0 + if buttonDisplayAlpha > buttonDisplayTargetAlpha then + buttonDisplayAlpha = buttonDisplayAlpha - 4 * dt + end + if buttonDisplayAlpha < buttonDisplayTargetAlpha then + buttonDisplayAlpha = buttonDisplayTargetAlpha + end + + updateTime = updateTime + (love.timer.getTime() - time) + updates = updates + 1 end function love.keypressed(key) - if key == 'escape' then - love.event.quit() - end - if key == 'tab' then - player.controls.action[1] = 'key:z' - end + if key == 'escape' then + love.event.quit() + end + if key == 'tab' then + player.controls.action[1] = 'key:z' + end end local pairDisplayRadius = 128 function love.draw() - love.graphics.setColor(255, 255, 255) - love.graphics.print('Current active device: ' .. tostring(player:getActiveDevice())) - love.graphics.print('Average update time (us): ' .. math.floor(updateTime/updates*1000000), 0, 16) - love.graphics.print('Memory usage (kb): ' .. math.floor(collectgarbage 'count'), 0, 32) + love.graphics.setColor(1, 1, 1) + love.graphics.print('Current active device: ' .. tostring(player:getActiveDevice())) + love.graphics.print('Average update time (us): ' .. math.floor(updateTime/updates*1000000), 0, 16) + love.graphics.print('Memory usage (kb): ' .. math.floor(collectgarbage 'count'), 0, 32) - love.graphics.push() - love.graphics.translate(400, 300) + love.graphics.push() + love.graphics.translate(400, 300) - love.graphics.setColor(50, 50, 50, pairDisplayAlpha) - love.graphics.circle('fill', 0, 0, pairDisplayRadius) + love.graphics.setColor(.25, .25, .25, pairDisplayAlpha) + love.graphics.circle('fill', 0, 0, pairDisplayRadius) - love.graphics.setColor(255, 255, 255) - love.graphics.circle('line', 0, 0, pairDisplayRadius) + love.graphics.setColor(1, 1, 1) + love.graphics.circle('line', 0, 0, pairDisplayRadius) - local r = pairDisplayRadius * player.config.deadzone - if player.config.squareDeadzone then - love.graphics.rectangle('line', -r, -r, r*2, r*2) - else - love.graphics.circle('line', 0, 0, r) - end + local r = pairDisplayRadius * player.config.deadzone + if player.config.squareDeadzone then + love.graphics.rectangle('line', -r, -r, r*2, r*2) + else + love.graphics.circle('line', 0, 0, r) + end - love.graphics.setColor(150, 150, 150) - local x, y = player:getRaw 'move' - love.graphics.circle('fill', x*pairDisplayRadius, - y*pairDisplayRadius, 4) - love.graphics.setColor(255, 255, 255) - local x, y = player:get 'move' - love.graphics.circle('fill', x*pairDisplayRadius, - y*pairDisplayRadius, 4) + love.graphics.setColor(.5, .5, .5) + local x, y = player:getRaw 'move' + love.graphics.circle('fill', x*pairDisplayRadius, + y*pairDisplayRadius, 4) + love.graphics.setColor(1, 1, 1) + x, y = player:get 'move' + love.graphics.circle('fill', x*pairDisplayRadius, + y*pairDisplayRadius, 4) - love.graphics.setColor(255, 255, 255) - love.graphics.rectangle('line', -50, 150, 100, 100) - love.graphics.setColor(255, 255, 255, buttonDisplayAlpha) - love.graphics.rectangle('fill', -50, 150, 100, 100) + love.graphics.setColor(1, 1, 1) + love.graphics.rectangle('line', -50, 150, 100, 100) + love.graphics.setColor(1, 1, 1, buttonDisplayAlpha) + love.graphics.rectangle('fill', -50, 150, 100, 100) - love.graphics.pop() + love.graphics.pop() end \ No newline at end of file