﻿<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://v.michm.ru/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://v.michm.ru/index.php?action=history&amp;feed=atom&amp;title=%D0%AD%D1%81%D1%81%D0%B5_%D0%91%D0%B0%D1%80%D0%B0%D0%BD%D0%BE%D0%B2</id>
		<title>Эссе Баранов - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://v.michm.ru/index.php?action=history&amp;feed=atom&amp;title=%D0%AD%D1%81%D1%81%D0%B5_%D0%91%D0%B0%D1%80%D0%B0%D0%BD%D0%BE%D0%B2"/>
		<link rel="alternate" type="text/html" href="http://v.michm.ru/index.php?title=%D0%AD%D1%81%D1%81%D0%B5_%D0%91%D0%B0%D1%80%D0%B0%D0%BD%D0%BE%D0%B2&amp;action=history"/>
		<updated>2026-04-04T15:00:15Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.19.23</generator>

	<entry>
		<id>http://v.michm.ru/index.php?title=%D0%AD%D1%81%D1%81%D0%B5_%D0%91%D0%B0%D1%80%D0%B0%D0%BD%D0%BE%D0%B2&amp;diff=34225&amp;oldid=prev</id>
		<title>Баранов Евгений: Новая страница: « == Pygame == В своем эссе я хотел бы рассказать о так называемой &quot;игровой библиотеке&quot; для Python.  …»</title>
		<link rel="alternate" type="text/html" href="http://v.michm.ru/index.php?title=%D0%AD%D1%81%D1%81%D0%B5_%D0%91%D0%B0%D1%80%D0%B0%D0%BD%D0%BE%D0%B2&amp;diff=34225&amp;oldid=prev"/>
				<updated>2021-04-28T18:38:12Z</updated>
		
		<summary type="html">&lt;p&gt;Новая страница: « == Pygame == В своем эссе я хотел бы рассказать о так называемой &amp;quot;игровой библиотеке&amp;quot; для Python.  …»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;
== Pygame ==&lt;br /&gt;
В своем эссе я хотел бы рассказать о так называемой &amp;quot;игровой библиотеке&amp;quot; для Python.&lt;br /&gt;
&lt;br /&gt;
Pygame — это библиотека, набор инструментов, помогающих программистам создавать игры. &lt;br /&gt;
&lt;br /&gt;
К ним относятся:&lt;br /&gt;
&lt;br /&gt;
*Графика и анимация&lt;br /&gt;
*Звук (включая музыку)&lt;br /&gt;
*Управление (мышь, клавиатура, геймпад и так далее)&lt;br /&gt;
&lt;br /&gt;
Документация, обучающие материалы и дополнительная информация доступна разработчикам на сайте проекта: [https://www.pygame.org/docs Pygame Front Page]&lt;br /&gt;
&lt;br /&gt;
== Модули Pygame ==&lt;br /&gt;
&lt;br /&gt;
Библиотека содержит в себе множество модулей необходимых разработчикам игр для реализации своих проектов:&lt;br /&gt;
&lt;br /&gt;
[[Файл:Screenshot_1113423.jpg]]&lt;br /&gt;
&lt;br /&gt;
Из приведенного списка видно, что данная библиотека предоставляет множество возможностей именно для игровых разработок. Это и рисование, и возможность добавления видео и звука, &lt;br /&gt;
и работа с системным временем, а также, так сильно необходимый при разработке обработчик событий. На котором я бы хотел заострить внимание.&lt;br /&gt;
----&lt;br /&gt;
== Обработка событий == &lt;br /&gt;
&lt;br /&gt;
Событие - это то, как Pygame сообщает о том, что что-то случилось за пределами кода программы. События создаются, например, при нажатии клавиш клавиатуры, мыши и размещаются в очереди, дожидаясь обработки.&lt;br /&gt;
&lt;br /&gt;
Функция get в модуле pygame.event возвращает последнее событие, ожидающее в очереди и удаляет его из очереди.&lt;br /&gt;
&lt;br /&gt;
Pygame отслеживает все сообщения о событиях через очередь событий. Процедуры в этом модуле помогают управлять этой очередью событий. Входная очередь сильно зависит от модуля отображения (display) pygame. Если дисплей не был инициализирован и видеорежим не установлен, очередь событий не будет работать.&lt;br /&gt;
&lt;br /&gt;
Существует множество способов доступа к очереди событий. Просто проверять существование событий, захватывать их непосредственно из стека.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Screenshot_2342312.jpg]]&lt;br /&gt;
----&lt;br /&gt;
== Мышь и клавиатура ==&lt;br /&gt;
&lt;br /&gt;
Основные события, которые практически постоянно необходимо отслеживать внутри игры это, конечно же, нажатия кнопок мыши и клавиатуры, а также перемещение курсора.&lt;br /&gt;
&lt;br /&gt;
Для этого в библиотеке есть модули pygame.mouse и pygame.key.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Screenshot_3897896.jpg]]&lt;br /&gt;
&lt;br /&gt;
Функции мыши можно использовать для получения текущего состояния устройства мышь. Эти функции также могут изменять курсор мыши.&lt;br /&gt;
&lt;br /&gt;
Когда режим отображения (display) установлен, очередь событий начнет принимать события мыши. Кнопки мыши генерируют события pygame.MOUSEBUTTONDOWN и pygame.MOUSEBUTTONUP, когда они нажимаются и отпускаются. Эти события содержат атрибут кнопки, указывающий, какая кнопка была нажата. Колесо мыши будет генерировать pygame.MOUSEBUTTONDOWN и pygame.MOUSEBUTTONUP события при прокрутке.&lt;br /&gt;
&lt;br /&gt;
Когда колесо повернуто вверх, кнопка будет установлена на 4, вниз -5. Всякий раз, когда мышь перемещается, генерируется событие pygame.MOUSEMOTION. Движение мыши разбито на небольшие и точные события движения. По мере перемещения мыши многие события движения будут помещены в очередь. События движения мыши, которые неправильно очищены от очереди событий, являются основной причиной того, что очередь событий заполняется.&lt;br /&gt;
&lt;br /&gt;
'''Модуль pygame.key'''&lt;br /&gt;
&lt;br /&gt;
Этот модуль содержит функции для работы с клавиатурой. Очередь событий получает события pygame.KEYDOWN и pygame.KEYUP при нажатии и отпускании клавиш клавиатуры.&lt;br /&gt;
&lt;br /&gt;
Оба события имеют ключевой атрибут, который представляет собой целочисленный идентификатор, представляющий каждую клавишу на клавиатуре.Событие pygame.KEYDOWN имеет дополнительные атрибуты: unicode и scancode. unicode представляет собой одну символьную строку, которая соответствует введённому символу. Scancode представляет собой код для конкретной платформы.&lt;br /&gt;
&lt;br /&gt;
Получить код клавиши:&lt;br /&gt;
&lt;br /&gt;
  pressed_keys = pygame.key.get_pressed()&lt;br /&gt;
    if pressed_keys[K_SPACE]:&lt;br /&gt;
      # Space key has been pressed&lt;br /&gt;
  fire()&lt;br /&gt;
&lt;br /&gt;
Существует много клавиатурных констант, они используются для представления клавиш на клавиатуре.&lt;br /&gt;
----&lt;br /&gt;
== Заключение ==&lt;br /&gt;
По своему назначению Pygame можно считать игровым движком. В то же время, с точки зрения классификации программного обеспечения, Pygame является API для Питона к API библиотеки SDL.&lt;br /&gt;
&lt;br /&gt;
API – это интерфейс (в основном набор функций и классов) для прикладного (часто более высокоуровневого) программирования, который предоставляет, например, та или иная библиотека. &lt;br /&gt;
&lt;br /&gt;
SDL – это библиотека, которая работает с мультимедийными устройствами компьютера.&lt;br /&gt;
&lt;br /&gt;
В этом смысле Pygame можно сравнить с Tkinter, который через свои функции и классы предоставляет Питону доступ к графической библиотеке Tk.&lt;br /&gt;
&lt;br /&gt;
Данная библиотека пользуется большой популярностью у начинающих разработчиков игр. Благодаря простоте использования с ее помощью можно создавать 2D игры для различных платформ.&lt;/div&gt;</summary>
		<author><name>Баранов Евгений</name></author>	</entry>

	</feed>