Menuitem
Jump to navigation
Jump to search
menuitem( index, [label,] [callback] )
- Adds a custom item to the PICO-8 menu.
- index
-
- The item index, a number between 1 and 5.
- label
-
- The label text of the menu item to add or change.
- callback
-
- A Lua function to call when the user selects this menu item.
To remove a previously added item, call menuitem(i)
where i
is the index of the item to remove.
New in PICO-8 0.2.0.
If the callback returns true, the pause menu remains open.
Menu items can detect Left and Right button presses. The callback takes a single parameter that is a bitfield of Left (0) and Right (1).
It can also detect O (4), X (5) and Pause (6), but it cannot distinguish them (if any is pressed, the parameter is the bitmask sum = 16+32+64 = 112).
Combining all these properties allows a developer to add a numeric field tuner (decrease on Left, increase on Right, and possibly reset on X).
By making the callback function immediately return anything on either a Left or Right press, the field tuning feature can be disabled.
Examples
menuitem(1, "restart puzzle", function() reset_puzzle() sfx(10) end)
function display_hints()
hint_shown = level_id
end
menuitem(2, "show hints", display_hints)
-- v0.2.0
menuitem(3, "foo", function(b) if (b&1 > 0) then printh("left was pressed") end end)
function my_menu_item(b)
if(b&1 > 0) menuitem(_,"left!")
if(b&2 > 0) menuitem(_,"right!")
if(b&32 > 0) menuitem(_,"selected!")
return true -- stay open
end
menuitem(1, "select me", my_menu_item)