Як зробити переміщення по меню

Переміщення по меню можна реалізувати декількома способами, інформація з сайту programmingnew.my1.ru/blog
1) як було зазначено вище в рядку відображення текстової інформації вводять активний і неактивний колір, а активація кольору кольору при перевірці стану курсора мишки. Приклад коду:
class Menu:
def __init __ (self, punkt = [120,140, ​​u'Punkt ', (250,25,250), (250,250,25), 0]):
self.punkts = punkts
self.ppunkts = ppunkts
def render (self, poverhnost, font, num_punkt): # підсвічування активного пункту
for i in self.punkts:
if num_punkt == i [5]:
poverhnost.blit (font.render (i [2], 1, i [4]), (i [0], i [1]))
else:
poverhnost.blit (font.render (i [2], 1, i [3]), (i [0], i [1]))

def menu (self):
done = True
font_menu = pygame.font.Font (None, 50) # визначаємо шрифт
pygame.key.set_repeat (0,0) # відключення залипання кнопок
pygame.mouse.set_visible (True) # курсор мишки бачимо

screen.fill ((0,100,200)) # зафарбування ігрового поля (екрану меню)
# Наведення курсору на пункт меню
# Перевірка подій миша
mp = pygame.mouse.get_pos () # отримуємо координати курсору [0] -x, [1] -y
for i in self.punkts:
if mp [0]> i [0] and mp [0] i [1] and mp [1] 0:
punkt- = 1
if e.key == pygame.K_DOWN:
if punkt punkt + = 1
if e.key == pygame.K_SPACE: # активація пункту меню клавішею пробіл
if punkt == 0:
done = False
if punkt == 1:
sys.exit ()
if punkt == 2:
men (im1, b)
if e.type == pygame.MOUSEBUTTONDOWN and e.button == 1:
if punkt == 0:
done = False
if punkt == 1:
sys.exit ()
if punkt == 2:
men (im1, b)
screen.blit (im1, (240,140))
window.blit (screen, (0,30)) # промальовування на вікні екрану для меню

Схожі статті