Мой пример "Меню"

  1. 10 CLS
  2.  
  3. //Загрузка графона
  4. 11 SETCOLOR 0,0,0
  5. 12 FILLRECT 0,0,128,160
  6. 20 GELLOAD "menu","Mainmenu.png"
  7. 30 GELLOAD "mause","mause.png"
  8. 40 SPRITEGEL "mause","mause"
  9. 50 DRAWGEL "menu",0,0
  10.  
  11. //Мелодия в меню
  12. 70 MP%=1:playwav "0.mid"
  13.  
  14. //Тут должна быть проверка по пунктам меню, для примера написал пункт 5 - "Выход"
  15. 80 if fire(0) and mp%=5 then goto 150
  16.  
  17. //Перемещение курсора
  18. 85 IF UP(0) THEN MP%=MP%-1:MPS%=1
  19. 90 IF DOWN(0) THEN MP%=MP%+1:MPS%=1
  20. 100 IF MP%>5 THEN MP%=1
  21. 110 IF MP%<1 THEN MP%=5
  22.  
  23. //Отрисовка курсора (1положение+(растояние между пунктами*текущий пункт))
  24. 120 MPY%=60+(16*MP%)
  25. 130 SPRITEMOVE "mause",96,mpy%
  26.  
  27. //Если двигают курсор, то включается задержка. Таким образом меню будет одинакого работать везде
  28. 135 if MPS%=1 then MPS%=0:sleep 200
  29.  
  30. 140 goto 80
  31. 150 end
Готовый пример
Смысл в том, чтобы сделать меню всего из двух картинок: фоновой и курсора, [url=]без текста и другой фигни[/url], работающие на всех аппаратах одинаково. Это получается за счет этой маленькой строчки:
  1. 135 if MPS%=1 then MPS%=0:sleep 200
Если двигают курсор, то включается задержка. Никаких нагромождений, просто контролируем нажатие клавиш маленькой припиской ":MPS%=1". Например:
  1. 85 IF UP(0) THEN MP%=MP%-1[b]:MPS%=1[/b]

Реклама

Мы в соцсетях

tw tg yt gt