Pico-8 : Делаем свое меню
Вот типа такого меню мы сейчас забабахаем...
ой, конечно же надо Гифкой показать
Все пункты меню собраны в массиве:
Итак, в игровом цикле update нам надо нарисовать меню, мы будем его рисовать если
choose=true
Если при инициализации игры сразу хотим показать меню, то просто пишем как выше
Проверяем в самом начале update
if (choose==true) then choosescreen() return end
т.е. если чуз = тру, то покажем меню и не будем продолжать игровой цикл.
Теперь осталось написать функцию choosescreen
Да в моем случае я обрабатываю только клавишу ВНИЗ для перемещения курсора вниз, и клавишу Z для выбора пункта
После выбора пункта соответствующие глобальные переменные заполняются, меняется статус окна и все! Теперь меню больше не покажется..
Полный код фнукции немного больше, вот он
function choosescreen() camera(0,0) cls(3) if (selected==nil) selected="bike" ?" choose stuff to find\n" ?" --------------------\n" if btnp(⬇️) then for i=1,#stuffs do if (stuffs[i]==selected) then selected=stuffs[i+1] break end end end if btnp(🅾️) then itemid=i itemname=selected choose=false end — show list foreach(stuffs, function(t) if (selected==t) then ?" >"..t else ?" "..t end end ) print("choice...",50,120) end
Ну и как вы знаете приемущества такого меню перед MENUITEM в том что тут можно влепить хоть 10 пунктов меню и нарисовать как вам хочется.