menuitem( index, [label,] [callback] )
Adds a custom item to the PICO-8 menu.
The item index, a number between 1 and 5.

The label text of the menu item to add or change.

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.

If the callback returns true, the pause menu remains open.

Menu item 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).


menuitem(1, "restart puzzle", function() reset_puzzle() sfx(10) end)

function display_hints()
  hint_shown = level_id
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)

See also

Community content is available under CC-BY-SA unless otherwise noted.