Ответы пользователя по тегу pygame
  • Какие есть туториалы по написанию реальных приложений на Python?

    @nikelen
    Учебное пособие с переводами на разные языки и видео c примерами кодов:
    programarcadegames.com ( русский язык)
    Видео уроки по созданию веб приложений с помощью Django:
    https://www.youtube.com/watch?v=QgdINlxm-wE (русский язык)
    Примеры кодов и ссылки на видео уроки по PyGame:
    programmingnew.my1.ru (русский язык)
    Ответ написан
    Комментировать
  • Как сделать перемещение по меню?

    @nikelen
    Перемещение по меню можно реализовать несколькими способами, информация с сайта 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) # курсор мышки видим

    punkt = 0

    while done:

    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< len(self.punkts)-1:
    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)) # прорисовка на окне экрана для меню

    pygame.display.flip() # всё отобразить
    2) С помощью прямоугольников связываем пункт меню с событием, причем перемещение по пунктам визуально отображается изменением цвета пункта или появлением активирующей картинки. Код для пунктов меню : https://www.youtube.com/watch?v=r_IkOU9PEXA
    Ответ написан
    Комментировать