Files
kiss-flixel/simplewindow-test/source/PlayState.kiss

56 lines
1.6 KiB
Plaintext

(import flixel.FlxState)
(import flixel.text.FlxText)
(import kiss_flixel.SimpleWindow)
(extends FlxState)
(method &override :Void create []
(super.create)
(SimpleWindow.sensibleDefaultKeys)
(set SimpleWindow.defaultSelectionMarker (new FlxText 0 0 ">" SimpleWindow.textSize))
(showMenu))
(method showMenu []
(SimpleWindow.promptForChoice "Testing SimpleWindow" ["Vertical" "Menu" "Quit"]
->:Void choice
(case choice
("Vertical"
(verticalMenu))
("Menu"
(subMenu))
("Quit"
(Sys.exit 0))
(never otherwise))))
(method subMenu []
(let [window (new SimpleWindow "SubMenu")]
(doFor letter ["A" "B" "C"]
(window.makeText letter null
->_ (print "$letter clicked")
->_ (print "$letter selected")
->_ (print "$letter deselected")))
(window.makeText "{tab} Back" null
->:Void _
{
(window.hide)
(showMenu)
})
(window.enableGamepadInput
true
null
[=>B "tab"])
(window.show)))
(method verticalMenu []
(let [window (new SimpleWindow "Vertical Menu" true)]
(set window.onClose ->:Void {(window.hide)(showMenu)})
(window.enableVerticalScrolling)
(doFor num (range 50)
(window.makeText "$num"))
(window.enableGamepadInput true)
(window.show)))
(method &override :Void update [:Float elapsed]
(super.update elapsed))