Skip to content
parlortricks edited this page Jun 16, 2022 · 15 revisions

You can define Game Menu items using -- menu: ITEM1 ITEM2 ITEM3 metatag. And handle them in the MENU(index) callback.

-- menu: ITEM1 ITEM2 ITEM3

function ITEM1()trace("1")end
function ITEM2()trace("2")end
function ITEM3()trace("3")end

GameMenu={ITEM1,ITEM2,ITEM3}

function MENU(i)
  GameMenu[i+1]()
end

Below is an example of how to use this with Fennel

;; author: parlortircks
;; script:  fennel
;; strict:  true
;; menu: ITEM1 ITEM2 ITEM3

(fn ITEM1 []
  (trace "ITEM1"))
	
(fn ITEM2 []
  (trace "ITEM2"))
	
(fn ITEM3 []
  (trace "ITEM3"))

(local GameMenu [ITEM1 ITEM2 ITEM3])

(fn _G.MENU [i]
  ((. GameMenu (+ i 1))))

(fn _G.TIC []
  (cls))

GIF below showing the above Fennel code

Clone this wiki locally