full color customization added

This commit is contained in:
Mango 2025-09-06 14:50:25 -07:00
commit 64f3bd5616
3 changed files with 75 additions and 39 deletions

View file

@ -1,13 +1,15 @@
local Object = require "classic"
local Button = Object:extend()
function Button:new(x, y, r, b, c)
function Button:new(x, y, r, b, c1, c2, c3)
self.x = x
self.y = y
self.r = r
self.b = b
self.press = false
self.c = c
self.c1 = c1
self.c2 = c2
self.c3 = c3
end
function Button:update(dt)
@ -28,13 +30,12 @@ end
function Button:draw()
if self.press then
love.graphics.setColor(self.c)
love.graphics.setColor(self.c1)
else
love.graphics.setColor(75/255, 75/255, 75/255)
love.graphics.setColor(self.c2)
end
love.graphics.circle("fill", self.x + self.r, self.y + self.r, self.r+1)
love.graphics.setColor(1,1,1)
love.graphics.setColor(self.c3)
love.graphics.circle("line", self.x + self.r, self.y+self.r, self.r+1)
end

View file

@ -9,33 +9,49 @@ function love.load()
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),
Button(135, 60, 43.5, "dpdown", col1),
Button(220.5, 106.5, 43.5, "dpright", col1),
Button(252, 270, 54, "dpup", col1),
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),
Button(398.5, 25.5, 43.5, "y", col2),
Button(495, 33, 43.5, "rightshoulder", col2),
Button(592.5, 57, 43.5, "leftshoulder", col2),
Button(303, 165, 43.5, "a", col2),
Button(394.5, 127.5, 43.5, "b", col2),
Button(495, 132, 43.5, "triggerright", col2),
Button(592.5, 157.5, 43.5, "triggerleft", col2),
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 = {
Slider(48, 192, 256, 6, 255),
--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, 312, 256, 6, 255),
Slider(416, 192, 256, 6, 255),
Slider(416, 256, 256, 6, 255),
Slider(416, 312, 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
@ -50,11 +66,16 @@ function love.keypressed(key)
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.c = {slider[1].level/255, slider[2].level/255, slider[3].level/255}
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.c = {slider[4].level/255, slider[5].level/255, slider[6].level/255}
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
@ -93,12 +114,21 @@ function love.draw()
v:draw()
end
--rectangles showing the results of slider color
love.graphics.rectangle("line", 328, 191, 16, 128)
love.graphics.rectangle("line", 376, 191, 16, 128)
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", 328, 191, 16, 128)
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", 376, 191, 16, 128)
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)
@ -106,6 +136,11 @@ function love.draw()
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)

View file

@ -55,12 +55,12 @@ function Slider:update(dt)
end
function Slider:draw()
love.graphics.setColor(1, 1, 1)
love.graphics.setColor(200/255, 200/255, 200/255)
love.graphics.rectangle("line", self.x, self.y, self.w, self.h)
love.graphics.setColor(237/255, 86/255, 83/255)
love.graphics.rectangle("fill", self.knobx-(self.knobw/2), self.knoby-(self.knobh/3), self.knobw, self.knobh)
love.graphics.setColor(1, 1, 1)
love.graphics.print(self.level, self.knobx-4, self.knoby-20)
love.graphics.print(self.level, self.x-32, self.y-self.h/2)
end
return Slider