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 пунктов меню и нарисовать как вам хочется.