Библиотека pygame – это модуль Python с открытым исходным кодом для разработки игр и мультимедийных приложений. Основанный на портируемой библиотеке SDL, модуль pygame может работать на многих платформах и операционных системах.
С помощью pygame можно контролировать логику и графику игр, не беспокоясь о сложностях бэкэнда, связанных с работой видео и аудио.
Этот мануал поможет установить модуль pygame в среду разработки Python и создать шаблон для разработки игр в Python 3.
Требования
Для работы вам понадобится локальная или удаленная среда разработки Python 3.
Кроме того, нужно ознакомиться со следующими руководствами:
- Импорт модулей в Python 3
- Использование переменных в Python 3
- Циклы while в Python 3
- Циклы for в Python 3
- Условные операторы в Python 3
- Логические выражения в Python 3
Установка pygame
Разверните среду программирования Python 3:
Теперь установите pygame:
Python [pygame] 08 Event Handling
pip install pygame
Collecting pygame
Using cached pygame-1.9.3-cp35-cp35m-manylinux1_x86_64.whl
Installing collected packages: pygame
Successfully installed pygame-1.9.3
Если вы установили pygame в систему с доступным видео и аудио, вы можете проверить установку с помощью команды, которая запустит макет игры и продемонстрирует, что pygame может делать с графикой и звуком:
python -m pygame.examples.aliens
Если вы не хотите запускать макет или в установке нет аудио/видео, можно открыть интерактивную консоль Python и попробовать импортировать модуль pygame. Чтобы запустить консоль, введите:
Теперь можно импортировать модуль:
Если вы не получили ошибок после того как нажали Enter, значит, модуль pygame был успешно установлен. Вы можете выйти из интерактивной консоли Python с помощью команды quit().
Если во время импорта произошла ошибка, обратитесь к рекомендациям на сайте pygame.
Примечание: На последующих этапах для отображения графического интерфейса пользователя и проверки кода используется монитор.
Импортирование pygame
Создайте файл our_game.py.
Начиная работу над проектом pygame, нужно сначала импортировать модуль. Добавьте в начало файла строку:
Также можно использовать еще один оператор import, чтобы добавить константы и функции pygame в глобальное пространство имен файла:
import pygame
from pygame.locals import *
Модуль pygame импортирован в файл проекта. Теперь можно создать шаблон игры.
Инициализация pygame
Затем нужно инициализировать pygame с помощью функции init().
import pygame
from pygame.locals import *
pygame.init()
Функция init() автоматически запустит все модули pygame, которые нужно инициализировать.
Также можно инициализировать каждый из модулей pygame по отдельности:
Функция init() может возвращать кортежи. Кортеж будет сообщать о состоянии инициализации. Это можно сделать как в общем вызове init(), так и при инициализации определенных модулей (это позволит понять, доступны ли эти модули).
Pygame Event Handler Explained
i = pygame.init()
print(i)
f = pygame.font.init()
print(f)
Запустив этот код, вы получите вывод:
В данном случае переменная i вернула кортеж (6, 0): было выполнено 6 успешных инициализаций pygame и получено 0 ошибок. Переменная f вернула None, что значит, что модуль недоступен в этой среде.
Настройка отображения
Затем нужно настроить отображение игры. Используйте pygame.display.set_mode() для инициализации окна или экрана отображения и передайте функции переменную. В функции нужно передать аргумент разрешения экрана; это пара чисел, которые выражают ширину и высоту в кортеже. Добавьте функцию в программу:
import pygame
from pygame.locals import *
pygame.init()
game_display = pygame.display.set_mode((800, 600))
В качестве аргумента функции set_mode () был передан кортеж, который определяет высоту (600 пикселей) и ширину (800 пикселей). Обратите внимание: кортеж содержится в круглых скобках функции, поэтому в приведенной выше функции указаны двойные скобки.
Обычно для определения разрешения экрана игры используются целые числа, которые можно присвоить переменным, чтобы не вводить их вручную. Это упростит разработку программы.
Ширину экрана игры можно присвоить переменной display_width, а высоту – переменной display_height. Переменные можно передать функции set_mode().
import pygame
from pygame.locals import *
pygame.init()
display_width = 800
display_height = 600
game_display = pygame.display.set_mode((display_width, display_height))
Обновление экрана
Затем нам нужно использовать одну из двух доступных функций для обновления отображения поверхности игры.
По сути анимация – это просто смена кадров во времени. Хорошим примером тут будет кинеограф – сшитая в блокнот серия картинок, при быстром перелистывании которой получается анимированное изображение.
Для обновления поверхности игры можно использовать функцию flip(). Вызовите ее:
Эта функция обновляет всю поверхность отображения.
Чаще вместо flip() используется функция update(), которая обновляет только часть изображения, что экономит память.
Добавьте update() в конец файла our_game.py:
import pygame
from pygame.locals import *
pygame.init()
display_width = 800
display_height = 600
game_display = pygame.display.set_mode((display_width, display_height))
pygame.display.update()
Программа будет работать без ошибок, но экран игры просто откроется и сразу закроется.
Создание цикла игры
Теперь можно начать работу над основным циклом игры.
Создайте цикл while, который будет запускать игру. Цикл будет вызывать логическое значение True, потому он будет работать непрерывно, пока его не остановит пользователь.
В главном цикле игры нужно построить цикл for для итерации очереди пользовательских событий, которые будут вызваны функцией pygame.event.get().
На данный момент в цикле for ничего нет, но в него можно добавить оператор print() и убедиться, что программа работает правильно. Передать события для итерации можно как print(event).
Добавьте в файл циклы и print().
import pygame
from pygame.locals import *
pygame.init()
display_width = 800
display_height = 600
game_display = pygame.display.set_mode((display_width, display_height))
pygame.display.update()
while True:
for event in pygame.event.get():
print(event)
Теперь убедитесь, что код работает:
После запуска файла на экране появится окно 800×600. Чтобы проверить события, вы можете навести курсор мыши на окно, щелкнуть по окну и нажать клавиши на клавиатуре. Эти события будут распечатываться в окне консоли.
Вывод выглядит примерно так:
Этот вывод отображает пользовательские события. Такие события будут контролировать игру, поскольку они генерируются пользователем. Всякий раз, когда вы запускаете функцию pygame.event.get (), код будет принимать эти события.
Остановите программу (CTRL + C).
На данном этапе print() можно удалить или закомментировать.
Выход из игры
Чтобы выйти из программы pygame, можно сначала объявить соответствующие модули неинициализированными, а затем просто выйти из Python с помощью функции quit().
Поскольку пользователи контролируют работу и события в игре, pygame.QUIT отправляется в очередь событий, когда пользователь завершает работу программы, нажав на «X» в верхнем углу игрового окна.
Добавьте в цикл for выражение if.
import pygame
from pygame.locals import *
pygame.init()
display_width = 800
display_height = 600
game_display = pygame.display.set_mode((display_width, display_height))
pygame.display.update()
while True:
for event in pygame.event.get():
if event.type == QUIT:
pygame.quit()
quit()
Новый код говорит программе, что если пользователь нажал Х, программа должна прекратить работу с помощью функций pygame.quit() и quit().
Поскольку ранее мы импортировали pygame.locals, теперь можно использовать event.type и QUIT без «pygame.» в начале.
Также запрос на выход из программы могут вызывать другие пользовательские события, например, событие KEYDOWN и несколько ключей.
Событие KEYDOWN значит, что пользователь нажал клавишу на клавиатуре. К примеру, это может быть клавиша Q или ESC. Добавьте код в цикл for.
import pygame
from pygame.locals import *
pygame.init()
display_width = 800
display_height = 600
game_display = pygame.display.set_mode((display_width, display_height))
pygame.display.update()
while True:
for event in pygame.event.get():
if event.type == QUIT or (
event.type == KEYDOWN and (
event.key == K_ESCAPE or
event.key == K_q
)):
pygame.quit()
quit()
Логические операторы сообщат программе, что она должна прекратить работу, если пользователь нажимает «X» в верхнем углу игрового окна или клавиши Q или ESC.
На этом этапе можно протестировать функциональность игры и затем выйти из нее, либо с помощью значка Х, либо нажав Q или ESC.
Улучшение кода
Теперь у вас есть полностью рабочая программа, однако код еще можно усовершенствовать.
К примеру, код цикла while можно поместить в определение функции.
def event_handler():
for event in pygame.event.get():
if event.type == QUIT or (
event.type == KEYDOWN and (
event.key == K_ESCAPE or
event.key == K_q
)):
pygame.quit()
quit()
Это сократит цикл while, что особенно важно для удобочитаемости кода.
Также можно добавить заголовок окна (в настоящее время здесь указано pygame window). Для этого используйте:
Функцию pygame.display.update() можно переместить в основной цикл игры.
В итоге код программы выглядит так:
import pygame
from pygame.locals import *
pygame.init()
display_width = 800
display_height = 600
game_display = pygame.display.set_mode((display_width, display_height))
pygame.display.set_caption(‘Our Game’)
def event_handler():
for event in pygame.event.get():
if event.type == QUIT or (
event.type == KEYDOWN and (
event.key == K_ESCAPE or
event.key == K_q
)):
pygame.quit()
quit()
while True:
event_handler()
pygame.display.update()
Этот код еще можно улучшить, например, добавить оператор break.
Теперь вы можете приступать к изучению анимации, спрайтовой графики и управления кадрами. Больше информации о pygame можно найти в документации pygame.
Источник: www.8host.com
Библиотека Pygame / Часть 1. Введение
Это первая часть серии руководств « Разработка игр с помощью Pygame ». Она предназначена для программистов начального и среднего уровней, которые заинтересованы в создании игр и улучшении собственных навыков кодирования на Python.
Что такое Pygame?
Pygame — это «игровая библиотека», набор инструментов, помогающих программистам создавать игры. К ним относятся:
- Графика и анимация
- Звук (включая музыку)
- Управление (мышь, клавиатура, геймпад и так далее)
Игровой цикл
В сердце каждой игры лежит цикл, который принято называть «игровым циклом». Он запускается снова и снова, делая все, чтобы работала игра. Каждый цикл в игре называется кадром.
В каждом кадре происходит масса вещей, но их можно разбить на три категории:
1.Обработка ввода (события)
Речь идет обо всем, что происходит вне игры — тех событиях, на которые она должна реагировать. Это могут быть нажатия клавиш на клавиатуре, клики мышью и так далее.
2.Обновление игры
Изменение всего, что должно измениться в течение одного кадра. Если персонаж в воздухе, гравитация должна потянуть его вниз. Если два объекта встречаются на большой скорости, они должны взорваться.
3.Рендеринг (прорисовка)
В этом шаге все выводится на экран: фоны, персонажи, меню. Все, что игрок должен видеть, появляется на экране в нужном месте.
Время
Еще один важный аспект игрового цикла — скорость его работы. Многие наверняка знакомы с термином FPS, который расшифровывается как Frames Per Second (или кадры в секунду). Он указывает на то, сколько раз цикл должен повториться за одну секунду. Это важно, чтобы игра не была слишком медленной или быстрой. Важно и то, чтобы игра не работала с разной скоростью на разных ПК.
Если персонажу необходимо 10 секунд на то, чтобы пересечь экран, эти 10 секунд должны быть неизменными для всех компьютеров.
Создание шаблона Pygame
Теперь, зная из каких элементов состоит игра, можно переходить к процессу написания кода. Начать стоит с создания простейшей программы pygame, которая всего лишь открывает окно и запускает игровой цикл. Это отправная точка для любого проекта pygame.
В начале программы нужно импортировать необходимые библиотеки и задать базовые переменные настроек игры:
# Pygame шаблон — скелет для нового проекта Pygame import pygame import random WIDTH = 360 # ширина игрового окна HEIGHT = 480 # высота игрового окна FPS = 30 # частота кадров в секунду
Дальше необходимо открыть окно игры:
# создаем игру и окно pygame.init() pygame.mixer.init() # для звука screen = pygame.display.set_mode((WIDTH, HEIGHT)) pygame.display.set_caption(«My Game») clock = pygame.time.Clock()
pygame.init() — это команда, которая запускает pygame. screen — окно программы, которое создается, когда мы задаем его размер в настройках. Дальше необходимо создать clock , чтобы убедиться, что игра работает с заданной частотой кадров.
Теперь необходимо создать игровой цикл:
# Цикл игры running = True while running: # Ввод процесса (события) # Обновление # Визуализация (сборка)
Игровой цикл — это цикл while , контролируемый переменной running . Если нужно завершить игру, необходимо всего лишь поменять значение running на False . В результате цикл завершится. Теперь можно заполнить каждый раздел базовым кодом.
Раздел рендеринга (отрисовки)
Начнем с раздела отрисовки. Персонажей пока нет, поэтому экран можно заполнить сплошным цветом. Чтобы сделать это, нужно разобраться, как компьютер обрабатывает цвета.
Экраны компьютеров сделаны из пикселей, каждый из которых содержит 3 элемента: красный, зеленый и синий. Цвет пикселя определяется тем, как горит каждый из элементов:
Каждый из трех основных цветов может иметь значение от 0 (выключен) до 255 (включен на 100%), так что для каждого элемента есть 256 вариантов.
Узнать общее количество отображаемых компьютером цветов можно, умножив:
>>> 256 * 256 * 256 16,777,216
Теперь, зная, как работают цвета, можно задать их в начале программ:
# Цвета (R, G, B) BLACK = (0, 0, 0) WHITE = (255, 255, 255) RED = (255, 0, 0) GREEN = (0, 255, 0) BLUE = (0, 0, 255)
А после этого — заполнить весь экран.
# Рендеринг screen.fill(BLACK)
Но этого недостаточно. Дисплей компьютера работает не так. Изменить пиксель — значит передать команду видеокарте, чтобы она передала соответствующую команду экрану. По компьютерным меркам это очень медленный процесс.
Если нужно нарисовать на экране много всего, это займет много времени. Исправить это можно оригинальным способом, который называется — двойная буферизация. Звучит необычно, но вот что это такое.
Представьте, что у вас есть двусторонняя доска, которую можно поворачивать, показывая то одну, то вторую сторону. Одна будет дисплеем (то, что видит игрок), а вторая — оставаться скрытой, ее сможет «видеть» только компьютер. С каждым кадром рендеринг будет происходить на задней части доски. Когда отрисовка завершается, доска поворачивается и ее содержимое демонстрируется игроку.
А это значит, что процесс отрисовки происходит один раз за кадр, а не при добавлении каждого элемента.
В pygame это происходит автоматически. Нужно всего лишь сказать доске, чтобы она перевернулась, когда отрисовка завершена. Эта команда называется flip() :
# Рендеринг screen.fill(BLACK) # после отрисовки всего, переворачиваем экран pygame.display.flip()
Главное — сделать так, чтобы функция flip() была в конце. Если попытаться отрисовать что-то после поворота, это содержимое не отобразится на экране.
Раздел ввода (событий)
Игры еще нет, поэтому пока сложно сказать, какие кнопки или другие элементы управления понадобятся. Но нужно настроить одно важное событие. Если попытаться запустить программу сейчас, то станет понятно, что нет возможности закрыть окно. Нажать на крестик в верхнем углу недостаточно. Это тоже событие, и необходимо сообщить программе, чтобы она считала его и, соответственно, закрыла игру.
События происходят постоянно. Что, если игрок нажимает кнопку прыжка во время отрисовки? Это нельзя игнорировать, иначе игрок будет разочарован. Для этого pygame сохраняет все события, произошедшие с момента последнего кадра. Даже если игрок будет лупить по кнопкам, вы не пропустите ни одну из них.
Создается список, и с помощью цикла for можно пройтись по всем из них.
for event in pygame.event.get(): # проверить закрытие окна if event.type == pygame.QUIT: running = False
В pygame много событий, на которые он способен реагировать. pygame.QUIT — событие, которое стартует после нажатия крестика и передает значение False переменной running , в результате чего игровой цикл заканчивается.
Контроль FPS
Пока что нечего поместить в раздел Update (обновление), но нужно убедиться, что настройка FPS контролирует скорость игры. Это можно сделать следующим образом:
while running: # держим цикл на правильной скорости clock.tick(FPS)
Команда tick() просит pygame определить, сколько занимает цикл, а затем сделать паузу, чтобы цикл (целый кадр) длился нужно время. Если задать значение FPS 30, это значит, что длина одного кадра — 1/30, то есть 0,03 секунды. Если цикл кода (обновление, рендеринг и прочее) занимает 0,01 секунды, тогда pygame сделает паузу на 0,02 секунды.
Итог
Наконец, нужно убедиться, что когда игровой цикл завершается, окно игры закрывается. Для этого нужно поместить функцию pygame.quit() в конце кода. Финальный шаблон pygame будет выглядеть вот так:
# Pygame шаблон — скелет для нового проекта Pygame import pygame import random WIDTH = 360 HEIGHT = 480 FPS = 30 # Задаем цвета WHITE = (255, 255, 255) BLACK = (0, 0, 0) RED = (255, 0, 0) GREEN = (0, 255, 0) BLUE = (0, 0, 255) # Создаем игру и окно pygame.init() pygame.mixer.init() screen = pygame.display.set_mode((WIDTH, HEIGHT)) pygame.display.set_caption(«My Game») clock = pygame.time.Clock() # Цикл игры running = True while running: # Держим цикл на правильной скорости clock.tick(FPS) # Ввод процесса (события) for event in pygame.event.get(): # check for closing window if event.type == pygame.QUIT: running = False # Обновление # Рендеринг screen.fill(BLACK) # После отрисовки всего, переворачиваем экран pygame.display.flip() pygame.quit()
Ура! У вас есть рабочий шаблон Pygame. Сохраните его в файле с понятным названием, например, pygame_template.py , чтобы можно было использовать его каждый раз при создании нового проекта pygame.
В следующем руководстве этот шаблон будет использован как отправная точка для изучения процесса отрисовки объектов на экране и их движения.
Источник: habr.com
Pygame: основы работы
Создание игр – перспективное направление разработки, которое стремительно развивается в 21 веке. Для того, чтобы программировать развлекательные продукты, нужно для начала выбрать специализированный язык, а затем изучить его особенности и инструменты. Небольшие проекты можно сделать и на Python.
Статья расскажет о том, какие преимущества и недостатки имеет соответствующий язык разработки, а также познакомит с Pygame – одним из мощнейших инструментов при создании the game. Также будут изучены уже написанные проекты.
Определение
Python – высокоуровневый язык программирования общего назначения. Используется для создания самых разных приложений: от игровых до бизнес-программ. Поддерживает концепции объектно-ориентированной разработки.
Python – язык с динамической типизацией данных. Он является достаточно простым для изучения, благодаря чему его активно используют новички. The first game написать на Python будет не слишком трудно даже с минимальными знаниями.
Плюсы
Python является языком разработки со следующими преимуществами:
- стабильное функционирование;
- читабельный и простой код;
- элементарный синтаксис, в основе которого лежит язык ABC;
- универсальность – одинакового подходит как для the business apps, так и для игр;
- в небольших приложениях работает достаточно быстро;
- наличие динамической типизации.
У The Python имеется обширный спектр фреймворков, а также встроенных инструментов и библиотек. Все это помогает with the game programming.
Минусы
Недостатков у Питона не очень много. К ним относят:
- отсутствие строгой типизации;
- итоговый объем получившегося приложения.
Из-за «веса» получаемые games can be slowly. Приложения рискую медленно работать, а также сильно нагружать операционную систему устройства. Именно поэтому for the game programming Питон используется тогда, когда речь идет о не самых крупных проектах.
Игровой цикл
Игровой цикл – это объект, который заставляет программный код загружаться из раза в раз. В игре им выступает кадр. В нем может происходить множество действий. Они разделяются на несколько категорий:
- Ввод данных. Производится со стороны непосредственного пользователя.
- Обновление кадра.
- Визуализация. Эта операция отвечает за вывод изображения на экран. В процессе производится отрисовка элементов там, где они должны были располагаться по первоначальной задумке.
In the big projects появляется искусственный интеллект и физика. Для создания полноценной игры нужно разобраться с воспроизведением звуков и музыки. Иногда в ней предусматривается набор очков, повышение уровня, а также индикаторы жизни.
Pygame – это…
The Pygame – мощный инструмент разработчика развлекательного программного обеспечения. Фреймворк (библиотека), совместимая с Python 3.0. Данный модуль вышел в 2000 году и стремительно развивался. Его поддержка производится по сей день.
Игры, созданные при помощи the Pygame – это масштабируемые проекты. Они одинаково хорошо запускаются on the mobile и ПК.
- является кроссплатформенным;
- обладает открытым исходным кодом;
- достаточно прост в изучении;
- имеет неплохую поддержку;
- обладает зрелой library.
Найти tutorial of the Pygame не составит особого труда – в сети полно документации (documents) и видео-гайдов. Данный модуль является обязательным для изучения всеми, кто планирует писать игры на Питоне. Это его ключевое предназначение.
Pygame Platform – это платформа, которая используется при разработке мультимедийных приложений с графическим интерфейсом.
Начало работы
Для того, чтобы использовать данный модуль, его нужно сначала инициализировать. Скачивается библиотека с сервиса pygame org. Здесь же можно найти documentation and tutorials по рассматриваемой «платформе».
Перед созданием проекта потребуется:
- Изучить основы программирования to the Python language.
- Использовать команду pip install pygame. Она отвечает за инициализацию.
Теперь можно формировать проект и редактировать его.
Пример приложения
Pygame Platform – инструмент, помогающий создавать не только простые приложения, но и достаточно крупные игры. Вот элементарный пример кода:
import pygame
import sys
screen = pygame.display.set_mode((1200, 800))
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
- import pygame отвечает за импорт libraries, включенный to the module;
- init() используется для подготовки модулей к работе;
- screen отвечает за создание графического окна, передав в set_mode() разрешение в качестве парный цифр;
- while True – основной цикл, перехватывающий событие закрытия основного графического окна посетителем.
После наступления желаемого события происходит завершение работы с библиотекой при помощи функции quit. Exit() отвечает за прекращение использования всего итогового приложения.
Рисование фигур
While running Pygame Platform, разработчикам может потребуется изображение геометрических фигур. Прямоугольные объекты представлены типом Rect:
Создать объект соответствующего типа in the program легко – нужно указать координаты левого верхнего угла прямоугольника, а также длины его сторон:
Здесь стоит обратить внимание на то, что начало координат расположено in the left corner окна, сверху. В изучаемой библиотеке функции отображения геометрических фигур расположены в модуле под названием draw.
Изначально все графические объекты, которые хочется разместить на основном экране, сначала попадают в специальный буфер of the platform. Отображение изменений производится при помощи функции flip.
Любой tutorial расскажет о функциях рисования графических фигур:
- Line. Позволяет рисовать линию на поверхности с заданным цветом и началом. Также предусматривается конец в точке end_pos и возможность указания толщины линии.
- Lines. Рисует линию, которая соединяет точки последовательности. Каждая из них представлена в приложении координатной парой. Если третий параметр (closed) – это true, конечная точка будет соединена с начальной.
- Circle. Точка pos здесь – это центр. Если толщина линии будет равна нулю, окружность закрасится.
- Ellipse. Функция, которую уроки по рассматриваемому модулю описывают как возможность нарисовать эллипс, ограниченный прямоугольником Rect. Если толщина линии равняется нулю, фигура будет закрашена.
Еще один вариант, который поддерживает библиотека Pygame – это рисование полигонов. Обозначается как polygon. Это – последовательность pointlist на заданной поверхности выбранного цвета. Каждая точка – это пара координат. Если width равен нулю, получившийся многоугольник будет закрашен.
Цвета
Цвета в модуле представлены моделью RGB. Посмотреть ее можно на Wikipedia org. Значение данного параметра задается в рамках диапазона от 0 до 255 включительно. Первая характеристика указывает на количество красного, вторая – зеленого, третья – голубого. Чем меньше значение, тем более темным окажется оттенок.
Вот несколько примеров, которые используют различные platforms:
- белый – (255, 255, 255);
- красный – (255, 0, 0);
- черный – (0, 0, 0).
Любой tutorial по Pygame в Python укажет на то, что модуль color включает в себя словарь – THECOLORS.
Его ключи – это названия разных цветовых гамм. Подключается он при помощи команды, представленной выше.
Текст и шрифт
Pygame documentation на сайте Питона org содержит данные о работе с текстом и шрифтами. Последние – это группы символов, которые объединены по стилистическому или иному признаку. Шрифты в библиотеке представлены типом под названием Font.
Для того, чтобы создать объект Font на основе уже имеющегося шрифта в системе, нужно вызвать функцию:
- параметр name отвечает за передачу функции имени шрифта;
- size – это размер «символов» в пунктах;
- bold и italic – особенности начертания.
Списки уже имеющихся шрифтов в системе удается получить при помощи команды get_fonts():
Теперь при помощи метода render для объекта Font нужно получить изображение с текстом. Последний передается методу built() для отрисовки на основном дисплее устройства:
Тест при обработке соответствующего кода будет располагаться по координатам (50, 50).
Класс GameObject
В официальной documentation рассматриваемого модуля выделяется объект GameObject. Он представлен визуальным элементом, который знает, как рендерить самого себя. Позволяет хранить границы и перемещаться. С аналогичными возможностями на изучаемой платформе есть класс Sprite. Новичкам он не нужен.
Этот код работает так:
- GameObject согласно tutorial document используется в виде базового класса других объектов в играх.
- Отвечает за разнообразие свойств прямоугольника.
- Метод update() перемещает объект с установленной (текущей) скоростью.
- Метод draw() должен определяется подклассами. Он ничего не предпринимает в программном коде.
Для создания собственной игры через «Пигейм»также потребуется знать the class Game.
Класс Game
Это – игровое ядро. Оно выполняется в основном цикле. Наделен полезными инструментами. Обладает такими методами:
- Init. Используется за инициализацию Pygame, шрифтов, а также микшера звуков. Three вызова нужны, чтобы задействовать в исходном коде только нужные элементы, а также держать подсистемы под контролем. С его помощью создаются фоны, основная поверхность и таймер с поддержкой отображения частоты кадров.
- Update и draw. Вызывают соответствующие методы. При наложении объектов на дисплее, порядок списка объектов будет определять, что рендерится изначально.
- Handle_events(). Метод, за счет которого прослушиваются генерируемые события. Сюда можно отнести нажатие на кнопки мыши, а также события клавиш. Каждое действие вызывает все функции-обработки, которые проходят обработку событий.
Также используется метод run(). Он отвечает за работоспособность основного цикла. Используется до получения в значении game_over итога «ложь».
Готовые проекты – наглядные примеры
При помощи Pygame Python создаются довольно крупные проекты. Сейчас самыми известными среди них являются:
- EVE Online;
- Battlefield;
- Mount and Blade;
- Civilization 4.
Начать работу с упомянутым модулем можно, посмотрев эти уроки. А можно закончить специализированные дистанционные компьютерные курсы.
Источник: otus.ru