jeopardy/anime/templates/imageword.lua
2026-05-06 19:39:08 -07:00

71 lines
2.2 KiB
Lua

--[[ Constants
* (all lua builtins that don't allow io/executing code)
color (interface)
gui (interface)
multi (interface bound to a processor) no thread module
callback true/false correct/wrong
]]
local label
local imageHolder
local imageHolder2
local function index(window, q, callback)
frame = window:newFrame(0,0,0,-200,0,.2,1,.8)
frame.visibility = 0
label = window:newTextLabel(" " ..q.title.. " ",0,0,0,0,0,0,1,.2)
label.align = ALIGN_CENTER
label.textColor = color.white
label.color = color.new("#060ce9")
if not q.imageA or q.imageA == "" then
error("Missing 'imageA' field for question!")
end
if not q.imageB or q.imageB == "" then
error("Missing 'imageB' field for question!")
end
imageHolder = frame:newImageLabel(q.imageA)
imageHolder:setAspectSize(imageHolder.imageWidth,imageHolder.imageHeight)
imageHolder:setDualDim(0,0,imageHolder.imageWidth,imageHolder.imageHeight)
imageHolder2 = frame:newImageLabel(q.imageB)
imageHolder2:setAspectSize(imageHolder2.imageWidth,imageHolder2.imageHeight)
imageHolder2:setDualDim(0,0,imageHolder2.imageWidth,imageHolder2.imageHeight)
local correct = window:newTextButton("Correct",0,-200,0,100,0,1,.5)
correct.color = color.new("#52b11b")
local wrong = window:newTextButton("Wrong",0,-200,0,100,.5,1,.5)
wrong.color = color.new("#bd2626")
local skip = window:newTextButton("Skip",0,-100,0,100,.25,1,.5)
skip.color = color.new("#5d5d5d")
window.apply({
centerX = {true},
centerY = {true},
},imageHolder, imageHolder2)
window.apply({
fitFont={},
align=window.ALIGN_CENTER,
OnReleased=function(self)
if self.text == "Skip" then
callback()
return
end
callback(self.text == "Correct")
end,
},correct,wrong,skip)
end
local function update(dt) -- time in seconds that has passed since
_,_,w,h = imageHolder.parent:getAbsolutes()
local x,y,w,h = imageHolder:GetSizeAdjustedToAspectRatio(w,h)
imageHolder:setDualDim(w,h,x,y)
label:fitFont()
end
return {
index = index,
update = update
}