A quick and dirty GUI library for Defold.
-
Add latest zip URL as a dependency in your Defold project:
https://github.com/andsve/dirtylarry/archive/master.zip
-
Add one of the supplied GUI template files, located in
dirtylarry/*.gui
, to your GUI scene. -
In your GUI script, add
local dirtylarry = require "dirtylarry/dirtylarry"
to the top and make sure the script has acquired input focus. -
Then add the corresponding function inside your
on_input
:dirtylarry/input.gui
:
dirtylarry:input("node_id", action_id, action, gui.KEYBOARD_TYPE_DEFAULT, "Default text")
dirtylarry/button.gui
:
dirtylarry:button("node_id", action_id, action, function () print("button was pressed") end)
dirtylarry/checkbox*.gui
:
self.checkbox_value = dirtylarry:checkbox("node_id", action_id, action, self.checkbox_value)
dirtylarry/radio*.gui
:
self.radio_value = dirtylarry:radio("node_a_id", action_id, action, "a", self.radio_value) self.radio_value = dirtylarry:radio("node_b_id", action_id, action, "b", self.radio_value)
dirtylarry/slider.gui
self.slider_value = dirtylarry:slider("slider", action_id, action, -1.0, 1.0, self.slider_value)
-
In the
input/game.input_binding
, add the following triggers:- Key Triggers: Input:
key-backspace
, Action:backspace
- Mouse Triggers: Input:
mouse-button-1
, Action:touch
- Text Triggers: Input:
text
, Action:text
- Text Triggers: Input:
marked-text
, Action:marked_text
- Key Triggers: Input:
For more usage examples take a look at main/examples.gui_script and dirtylarry/dirtylarry.lua for configurational options.
- Using the built in font:
- Using Input font: