Всем Хай. Урок 1, создаем окно в Pygame
Здраствуй Мой читатель, сегодня Я расскажу тебе о модуле Pygame, что он из себя представляет и с чем его едят. Готов? Поехали!
pip install pygame
Начнем с импорта нашего модуля, инициализации его и указания шифровки (# -*- coding: utf-8 -*-) указывает шифровку в нашем python файле, его нужно ставить что бы не было проблем с написание русского текста.
# -*- coding: utf-8 -*-
import pygame
from pygame import *
pygame.init()
И так библиотека pygame служит для графической части нашей программы как понятно из названия библиотеки, она служит для созданиия игр и графического интерфейса. Создать GTA 5 на ней не получится, но вот простенький интерфейс за 5 мин накидать получится, а если потратить пару часов, то и игру сможете создать.
Потратив несколько часов Я смог сделать мини игру, вот наглядный пример
В моей игре нужно собирать зеленые квадратики и уварачиваться от красных. Игра с костылями но рабочая. Одна из особенностей Pygame в том что Вы сможите настроить управление и под джостик(Я не настраивал, мне лень:3). Ссылка на игру, может кому интересно будет (исходник)
И так, продолжим, теперь нам нужно создать поверхность на которой все будет происходить и дать ей название
screen = pygame.display.set_mode((800, 600))
pygame.display.set_caption("Name Game")
Создаем переменную (я ее назвал screen) и указываем высоту и ширину окна, затем даем название нашему окну. Теперь Мы по желанию добавим иконку к нашему окну. Иконка должна иметь расширение .ico у меня иконка имеет разрешение 32x32 пикселя, делать больше разрешение Я не пробовал. Можете попробовать сделать больше, вдруг сработает.
ico = pygame.image.load("icons.ico")
pygame.display.set_icon(ico)
Далее Мы создаем переменную FPS что бы указать количество кадров в секунду, это нам нужно что бы при перемещении окна или еще некоторых махинациях с ним оно не глючило.
FPS = pygame.time.Clock()
Далее Мы создаем переменную window и придаем ей значение True, что бы наша программа понимала, что она работает и запускаем бесконечный цикл while с переменной window.
window = True
while window:
После с помощью цикла for и модуля pygame начинаем отслеживать нажатие кнопки "Крестик" у нашего окна командой: if e.type == QUIT, если нажата кнопка закрыть, то переменная window получает значение False тем самым закрывая цикл нашей программы.
for e in pygame.event.get():
if e.type == QUIT:
window = False
На уровне с циклом for (4 пробела от левого края) Мы начинам указывать до этого указаные переменные.
FPS.tick(30) - фпс у нашей игры будет равен 30
screen.fill((192, 192, 192)) - тут мы закрашиваем фон нашего окна в серый цвет (формат RGB)
pygame.display.update() - данная команда по новой отрисовывает картинку в окне
FPS.tick(30)
screen.fill((192, 192, 192))
pygame.display.update()
И в конце мы указываем что модуль pygame следует закрыть, как и нашу программу
pygame.quit()
exit()
Вот как будет выглядеть все:
И сам исходник КЛИК