input-display/main.lua
2025-09-05 11:55:39 -07:00

63 lines
1.8 KiB
Lua

function love.load()
require("sdl")
joysticks = love.joystick.getJoysticks()
fightstick = joysticks[1]
local Button = require "button"
--movement keys
movement = {
Button(25, 40, 29, "dpleft", {255/255, 179/255, 102/255}),
Button(90, 40, 29, "dpdown", {255/255, 179/255, 102/255}),
Button(147, 71, 29, "dpright", {255/255, 179/255, 102/255}),
Button(168, 180, 36, "dpup", {255/255, 179/255, 102/255}),
}
--attack keys, add {x,x,x} value to change color of button
attack = {
Button(207, 43, 29, "x", {150/255, 109/255, 209/255}),
Button(265, 17, 29, "y", {150/255, 109/255, 209/255}),
Button(330, 22, 29, "rightshoulder", {150/255, 109/255, 209/255}),
Button(395, 38, 29, "leftshoulder", {150/255, 109/255, 209/255}),
Button(202, 110, 29, "a", {150/255, 109/255, 209/255}),
Button(263, 86, 29, "b", {150/255, 109/255, 209/255}),
Button(330, 88, 29, "triggerright", {150/255, 109/255, 209/255}),
Button(394, 105, 29, "triggerleft", {150/255, 109/255, 209/255}),
}
end
function love.keypressed(key)
--pressing b will change the borderless setting, and the position of the window is prevented from resetting during this
if key == "b" then
if BORDERLESS then
BORDERLESS = false
love.window.setMode(WINDOWWIDTH, WINDOWHEIGHT, {borderless=false, x=windowx, y=windowy})
else
BORDERLESS = true
love.window.setMode(WINDOWWIDTH, WINDOWHEIGHT, {borderless=true, x=windowx, y=windowy})
end
end
end
function love.update(dt)
windowx, windowy, _ = love.window.getPosition()
--movement keys
for i, v in ipairs(movement) do
v:update(dt)
end
--attack keys
for i, v in ipairs(attack) do
v:update(dt)
end
end
function love.draw()
love.graphics.scale(WINDOWSCALE, WINDOWSCALE)
love.graphics.setLineWidth(2)
--movement keys
for i, v in ipairs(movement) do
v:draw()
end
--attack keys
for i, v in ipairs(attack) do
v:draw()
end
end