Найти тему
Python 3

Python| Pygame разработка игр | Урок №1

Всем Хай. Урок 1, создаем окно в Pygame

Здраствуй Мой читатель, сегодня Я расскажу тебе о модуле Pygame, что он из себя представляет и с чем его едят. Готов? Поехали!

pip install pygame

Начнем с импорта нашего модуля, инициализации его и указания шифровки (# -*- coding: utf-8 -*-) указывает шифровку в нашем python файле, его нужно ставить что бы не было проблем с написание русского текста.

# -*- coding: utf-8 -*-
import pygame
from pygame import *
pygame.init()

И так библиотека pygame служит для графической части нашей программы как понятно из названия библиотеки, она служит для созданиия игр и графического интерфейса. Создать GTA 5 на ней не получится, но вот простенький интерфейс за 5 мин накидать получится, а если потратить пару часов, то и игру сможете создать.

Потратив несколько часов Я смог сделать мини игру, вот наглядный пример

-2

В моей игре нужно собирать зеленые квадратики и уварачиваться от красных. Игра с костылями но рабочая. Одна из особенностей 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()

Вот как будет выглядеть все:

-3

И сам исходник КЛИК