input-display/main.lua

150 lines
4.9 KiB
Lua

function love.load()
require("sdl")
local Button = require "button"
local Slider = require "slider"
joysticks = love.joystick.getJoysticks()
fightstick = joysticks[1]
font = love.graphics.newFont("NCZ.otf", 12)
MENU = true
col1 = {255/255, 179/255, 102/255}
col2 = {150/255, 109/255, 209/255}
col3 = {75/255, 75/255, 75/255}
col4 = {1, 1, 1}
--movement buttons
movement = {
Button(37.5, 60, 43.5, "dpleft", col1, col3, col4),
Button(135, 60, 43.5, "dpdown", col1, col3, col4),
Button(220.5, 106.5, 43.5, "dpright", col1, col3, col4),
Button(252, 270, 54, "dpup", col1, col3, col4),
}
--attack buttons
attack = {
Button(310.5, 64.5, 43.5, "x", col2, col3, col4),
Button(398.5, 25.5, 43.5, "y", col2, col3, col4),
Button(495, 33, 43.5, "rightshoulder", col2, col3, col4),
Button(592.5, 57, 43.5, "leftshoulder", col2, col3, col4),
Button(303, 165, 43.5, "a", col2, col3, col4),
Button(394.5, 127.5, 43.5, "b", col2, col3, col4),
Button(495, 132, 43.5, "triggerright", col2, col3, col4),
Button(592.5, 157.5, 43.5, "triggerleft", col2, col3, col4),
}
--color sliders
slider = {
--movement
Slider(48, 154, 256, 6, 255),
Slider(48, 186, 256, 6, 255),
Slider(48, 218, 256, 6, 255),
--attack
Slider(48, 256, 256, 6, 255),
Slider(48, 288, 256, 6, 255),
Slider(48, 320, 256, 6, 255),
--background
Slider(418, 154, 256, 6, 255),
Slider(418, 186, 256, 6, 255),
Slider(418, 218, 256, 6, 255),
--outline
Slider(418, 256, 256, 6, 255),
Slider(418, 288, 256, 6, 255),
Slider(418, 320, 256, 6, 255),
--outline
Slider(232, 52, 256, 6, 255),
Slider(232, 84, 256, 6, 255),
Slider(232, 116, 256, 6, 255)
}
end
function love.keypressed(key)
if key == "space" then
MENU = not MENU
elseif key == "b" then
BORDERLESS = not BORDERLESS
love.window.setMode(WINDOWWIDTH, WINDOWHEIGHT, {borderless = BORDERLESS, x=windowx, y=windowy})
elseif key == "r" then
resize()
elseif key == "q" then
love.event.quit()
elseif key == "c" then
love.graphics.setBackgroundColor(slider[13].level/255, slider[14].level/255, slider[15].level/255)
for i, m in ipairs(movement) do
m.c1 = {slider[1].level/255, slider[2].level/255, slider[3].level/255}
m.c2 = {slider[7].level/255, slider[8].level/255, slider[9].level/255}
m.c3 = {slider[10].level/255, slider[11].level/255, slider[12].level/255}
end
for i, a in ipairs(attack) do
a.c1 = {slider[4].level/255, slider[5].level/255, slider[6].level/255}
a.c2 = {slider[7].level/255, slider[8].level/255, slider[9].level/255}
a.c3 = {slider[10].level/255, slider[11].level/255, slider[12].level/255}
end
end
end
function love.update(dt)
windowx, windowy, _ = love.window.getPosition()
if not MENU then
--movement buttons
for i, v in ipairs(movement) do
v:update(dt)
end
--attack button
for i, v in ipairs(attack) do
v:update(dt)
end
elseif MENU then
for i, v in ipairs(slider) do
v:update(dt)
end
end
end
function love.draw()
love.graphics.setLineWidth(2)
if not MENU then
--movement buttons
for i, v in ipairs(movement) do
v:draw()
end
--attack buttons
for i, v in ipairs(attack) do
v:draw()
end
elseif MENU then
for i, v in ipairs(slider) do
v:draw()
end
--rectangles showing the results of slider color
love.graphics.rectangle("line", 310, 154, 16, 70)
love.graphics.rectangle("line", 310, 256, 16, 70)
love.graphics.rectangle("line", 680, 154, 16, 70)
love.graphics.rectangle("line", 680, 256, 16, 70)
love.graphics.rectangle("line", 494, 52, 16, 70)
love.graphics.setColor(slider[1].level/255, slider[2].level/255, slider[3].level/255)
love.graphics.rectangle("fill", 310, 154, 16, 70)
love.graphics.setColor(slider[4].level/255, slider[5].level/255, slider[6].level/255)
love.graphics.rectangle("fill", 310, 256, 16, 70)
love.graphics.setColor(slider[7].level/255, slider[8].level/255, slider[9].level/255)
love.graphics.rectangle("fill", 680, 154, 16, 70)
love.graphics.setColor(slider[10].level/255, slider[11].level/255, slider[12].level/255)
love.graphics.rectangle("fill", 680, 256, 16, 70)
love.graphics.setColor(slider[13].level/255, slider[14].level/255, slider[15].level/255)
love.graphics.rectangle("fill", 494, 52, 16, 70)
--text based instrunctions
love.graphics.setFont(font, 20)
love.graphics.setColor(150/255, 150/255, 150/255)
love.graphics.print("hotkeys:", 0, 0)
love.graphics.print("borderless = b", 0, 16)
love.graphics.print("set color = c", 0, 32)
love.graphics.print("quit = q", 0, 48)
love.graphics.print("direction color", 49, 136)
love.graphics.print("button color", 49, 238)
love.graphics.print("idle color", 418, 136)
love.graphics.print("outline color", 418, 238)
love.graphics.print("background color", 232, 34)
love.graphics.setColor(255/255, 179/255, 102/255)
love.graphics.printf("open/close this menu with spacebar", 0, 385, 720, "center")
love.graphics.setColor(60/255, 60/255, 60/255)
love.graphics.printf("by mango", 0, 365, 720, "center")
end
end