jeopardy/menus/title.lua

72 lines
2.0 KiB
Lua

local gui = require("gui")
local color = require("gui.core.color")
local menu = require("menus.menus")
local proc = gui:getProcessor():newProcessor("main-title")
local board = require("menus.board")
function Menu(frame)
local background = frame:newImageLabel("assets/images/background.jpg")
background:fullFrame()
local title = frame:newTextLabel("Jeopardy",0,0,0,0,0,.1,1,.25)
title:setFont("assets/fonts/gyparody.ttf",300)
title:setShader(gui.SHADERS.vignette,{
intensity = .5,
smoothness = .8
})
title.align = gui.ALIGN_CENTER
title.visibility = 0
title.textColor = color.new("#b16d24")
title.drawBorder = false
proc:newThread(function()
local function enabled()
return background.visible
end
while true do
thread.hold(enabled)
title:centerFont()
end
end)
local items = 0
local MenuOption = function(str)
local item = background:newImageLabel("assets/images/CLOUD.png",-150,-63+(items*130),300,125,.5,.6)
local text = item:newTextLabel(str)
text:fullFrame()
text.align = gui.ALIGN_CENTER
thread:newThread(function()
thread.skip(2)
text:fitFont(nil,nil,{scale = 1/2})
text:centerFont()
text.visibility = 0
text.textColor = color.new("#24269a")
end)
items = items + 1
return item, text
end
local play = MenuOption("PLAY")
local settings = MenuOption("SETTINGS")
local quit = MenuOption("QUIT")
gui.apply({
OnEnter = function(self)
self:setShader(gui.SHADERS.glow)
end,
OnExit = function(self)
self:setShader()
end,
shaderTime = {true}
},play,settings,quit)
play:OnReleased(function()
background.visible = false
menu.getMenu("board"):visible(true,"anime")
end)
return background
end
return menu.registerMenu("title", Menu)