150 lines
4.9 KiB
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
|
|
|