Batman
This commit is contained in:
82
lua/script copy.lua
Normal file
82
lua/script copy.lua
Normal file
@@ -0,0 +1,82 @@
|
||||
-- annotation.lua contains EmmyLua annotations for cpp_function & cpp_variable\
|
||||
|
||||
function create_button(x, y, width, height, text)
|
||||
return {
|
||||
x = x,
|
||||
y = y,
|
||||
width = width,
|
||||
height = height,
|
||||
text = text,
|
||||
hovered = false,
|
||||
was_pressed = false,
|
||||
onpressed = function() end
|
||||
}
|
||||
end
|
||||
|
||||
function draw_button(button)
|
||||
if button.hovered then
|
||||
Engine:setColor(Color.new(0, 255, 0))
|
||||
else
|
||||
Engine:setColor(Color.new(255, 0, 0))
|
||||
end
|
||||
Engine:fillRect(button.x, button.y, button.width, button.height)
|
||||
Engine:setColor(Color.new(0, 0, 0))
|
||||
Engine:drawText(button.text, button.x + 10, button.y + 10)
|
||||
end
|
||||
|
||||
function is_mouse_in_button(button, x, y)
|
||||
return x >= button.x and x <= button.x + button.width and y >= button.y and y <= button.y + button.height
|
||||
end
|
||||
|
||||
testButton = create_button(100, 100, 100, 50, "Test Button")
|
||||
|
||||
function update_button(button)
|
||||
if is_mouse_in_button(button, Engine:getMouseX(), Engine:getMouseY()) then
|
||||
button.hovered = true
|
||||
if Engine:isMouseLeftDown() and not button.was_pressed then
|
||||
button.onpressed()
|
||||
button.was_pressed = true
|
||||
elseif not Engine:isMouseLeftDown() then
|
||||
button.was_pressed = false
|
||||
end
|
||||
else
|
||||
button.hovered = false
|
||||
button.was_pressed = false
|
||||
end
|
||||
end
|
||||
|
||||
--- the setup function
|
||||
--- @return nil
|
||||
function setup_window()
|
||||
Engine:setTitle("Hello World new")
|
||||
Engine:setWidth(800)
|
||||
Engine:setHeight(600)
|
||||
Engine:setFrameRate(60)
|
||||
|
||||
testButton.onpressed = function()
|
||||
Engine:messageBox("Button Pressed")
|
||||
end
|
||||
end
|
||||
|
||||
--- the set_keylist function
|
||||
--- @return string
|
||||
function set_keylist()
|
||||
return "WASD"
|
||||
end
|
||||
|
||||
--- the update function
|
||||
--- @param Engine GameEngine # The GameEngine instance.
|
||||
--- @return nil
|
||||
function update()
|
||||
update_button( testButton)
|
||||
end
|
||||
|
||||
|
||||
--- the draw function
|
||||
--- @return nil
|
||||
function draw()
|
||||
Engine:setColor(Color.new(0, 0, 0))
|
||||
Engine:fillScreen(Color.new(255, 255, 255))
|
||||
|
||||
draw_button(testButton)
|
||||
end
|
||||
Reference in New Issue
Block a user