Библиотека Pygame. 9кл_4ч_нед1_Библиотека PyGame.pptx. Библиотека pygame pygame и разработка игр
Скачать 2.01 Mb.
|
БИБЛИОТЕКА PYGAME PYGAME И РАЗРАБОТКА ИГР • PYGAME – ЭТО БИБЛИОТЕКА МОДУЛЕЙ ДЛЯ ЯЗЫКА PYTHON, СОЗДАННАЯ ДЛЯ РАЗРАБОТКИ 2D ИГР. ТАКЖЕ PYGAME МОГУТ НАЗЫВАТЬ ФРЕЙМВОРКОМ. В ПРОГРАММИРОВАНИИ ПОНЯТИЯ "БИБЛИОТЕКА" И "ФРЕЙМВОРК" НЕСКОЛЬКО РАЗНЫЕ. НО КОГДА ДЕЛО КАСАЕТСЯ КЛАССИФИКАЦИИ КОНКРЕТНОГО ИНСТРУМЕНТА, НЕ ВСЕ ТАК ОДНОЗНАЧНО. • В ЛЮБОМ СЛУЧАЕ, ФРЕЙМВОРК ЯВЛЯЕТСЯ БОЛЕЕ МОЩНЫМ ПО СРАВНЕНИЮ С БИБЛИОТЕКОЙ, ОН НАКЛАДЫВАЕТ СВОЮ СПЕЦИФИКУ НА ОСОБЕННОСТИ ПРОГРАММИРОВАНИЯ И СФЕРУ ИСПОЛЬЗОВАНИЯ ПРОДУКТА. С ТОЧКИ ЗРЕНИЯ СПЕЦИФИКИ PYGAME – ЭТО ФРЕЙМВОРК. ОДНАКО ЕГО СЛОЖНО НАЗВАТЬ "МОЩНЫМ ИНСТРУМЕНТОМ". ПО СВОЕМУ ОБЪЕМУ И ФУНКЦИОНАЛУ ЭТО СКОРЕЕ БИБЛИОТЕКА. • ТАКЖЕ СУЩЕСТВУЕТ ПОНЯТИЕ "ИГРОВОГО ДВИЖКА" КАК ПРОГРАММНОЙ СРЕДЫ ДЛЯ РАЗРАБОТКИ ИГР. ПО СВОЕМУ НАЗНАЧЕНИЮ PYGAME МОЖНО СЧИТАТЬ ИГРОВЫМ ДВИЖКОМ. В ТО ЖЕ ВРЕМЯ, С ТОЧКИ ЗРЕНИЯ КЛАССИФИКАЦИИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ, PYGAME ЯВЛЯЕТСЯ API ДЛЯ ПИТОНА К API БИБЛИОТЕКИ SDL. • API – ЭТО ИНТЕРФЕЙС (В ОСНОВНОМ НАБОР ФУНКЦИЙ И КЛАССОВ) ДЛЯ ПРИКЛАДНОГО (ЧАСТО БОЛЕЕ ВЫСОКОУРОВНЕВОГО) ПРОГРАММИРОВАНИЯ, КОТОРЫЙ ПРЕДОСТАВЛЯЕТ, НАПРИМЕР, ТА ИЛИ ИНАЯ БИБЛИОТЕКА. SDL – ЭТО БИБЛИОТЕКА, КОТОРАЯ РАБОТАЕТ С МУЛЬТИМЕДИЙНЫМИ УСТРОЙСТВАМИ КОМПЬЮТЕРА. • В ЭТОМ СМЫСЛЕ PYGAME МОЖНО СРАВНИТЬ С TKINTER, КОТОРЫЙ ЧЕРЕЗ СВОИ ФУНКЦИИ И КЛАССЫ ПРЕДОСТАВЛЯЕТ ПИТОНУ ДОСТУП К ГРАФИЧЕСКОЙ БИБЛИОТЕКЕ TK. • ОФИЦИАЛЬНЫЙ САЙТ: HTTPS://WWW.PYGAME.ORG • ДОКУМЕНТАЦИЯ: HTTPS://WWW.PYGAME.ORG/DOCS/ ОСОБЕННОСТИ РАЗРАБОТКИ КОМПЬЮТЕРНЫХ ИГР • ИГРЫ СОБЫТИЙНО ОРИЕНТИРОВАНЫ, ТАКЖЕ КАК ЛЮБОЕ ПРИЛОЖЕНИЕ С ГРАФИЧЕСКИМ ИНТЕРФЕЙСОМ ПОЛЬЗОВАТЕЛЯ. ПОЭТОМУ КАКИЕ-НИКАКИЕ, НО ИГРЫ МОЖНО БЫЛО БЫ ПИСАТЬ С ПОМОЩЬЮ TKINTER, В ЧАСТНОСТИ НА ЕГО ЭКЗЕМПЛЯРАХ ХОЛСТА. НО ПОСКОЛЬКУ ОСНОВНОЕ НАЗНАЧЕНИЕ БИБЛИОТЕКИ ГРАФИЧЕСКОГО ПОЛЬЗОВАТЕЛЬСКОГО ИНТЕРФЕЙСА СОВСЕМ ДРУГОЕ, ТО ПРИШЛОСЬ БЫ ИЗОБРЕТАТЬ ВЕЛОСИПЕДЫ. В ТО ВРЕМЯ КАК БИБЛИОТЕКА, СПЕЦИАЛЬНО ПРЕДНАЗНАЧЕННАЯ ДЛЯ НАПИСАНИЯ ИГР, УЖЕ СОДЕРЖИТ НЕОБХОДИМЫЕ ОБЪЕКТЫ, ЧТО УПРОЩАЕТ РАЗРАБОТКУ. • НАПРИМЕР, ЧТОБЫ ОПРЕДЕЛИТЬ, СТОЛКНУЛИСЬ ЛИ ДВА ОБЪЕКТА, НАДО НАПИСАТЬ КОД, ПРОВЕРЯЮЩИЙ СОВПАДЕНИЕ КООРДИНАТ. ЭТО МОЖЕТ БЫТЬ НЕПРОСТОЙ ЗАДАЧЕЙ, ТАК КАК НАДО УЧЕСТЬ ОБЛАСТИ ПЕРЕКРЫТИЯ, ФОРМУ ОБЪЕКТОВ И ДР. В ТО ЖЕ ВРЕМЯ ИГРОВОЙ ДВИЖОК МОЖЕТ ВКЛЮЧАТЬ ГОТОВУЮ ФУНКЦИЮ ПРОВЕРКИ КОЛЛИЗИИ (СТОЛКНОВЕНИЯ) С НЕОБХОДИМЫМИ ОПЦИЯМИ НАСТРОЙКИ. • ПРИ ВСЕМ ЭТОМ PYGAME ДОСТАТОЧНО НИЗКОУРОВНЕВЫЙ ИГРОВОЙ ДВИЖОК, ЕСЛИ ЕГО МОЖНО ТАК НАЗЫВАТЬ. ЭТО ЗНАЧИТ, ЧТО МНОГОЕ В НЕМ НЕ ОСТАЕТСЯ ЗА КАДРОМ, А ДАЕТСЯ ПРОГРАММИСТУ НА ДОРАБОТКУ, ВЫНУЖДАЕТ ЕГО ПОНИМАТЬ, КАК РАБОТАЮТ "ШЕСТЕРЕНКИ". ТАК В PYGAME ОТСУТСТВУЕТ ЭМУЛЯЦИЯ ФИЗИЧЕСКИХ ЯВЛЕНИЙ. ЕСЛИ ВАМ НАДО СМОДЕЛИРОВАТЬ ДВИЖЕНИЕ С УСКОРЕНИЕМ ИЛИ ПО ДУГЕ, ПРОГРАММИРУЙТЕ ЭТО САМИ, ПРЕДВАРИТЕЛЬНО ВЗЯВ ИЗ КУРСА ФИЗИКИ СООТВЕТСТВУЮЩУЮ ФОРМУЛУ. ЧТО ТАКОЕ PYGAME? • PYGAME – ЭТО КРОССПЛАТФОРМЕННАЯ БИБЛИОТЕКА ЯЗЫКА PYTHON, ПРЕДНАЗНАЧЕННАЯ ДЛЯ НАПИСАНИЯ КОМПЬЮТЕРНЫХ ИГР И МУЛЬТИМЕДИА-ПРИЛОЖЕНИЙ. • На компьютере должен быть установлен PYTHON, после этого можно проверить наличие PYGAME. Если библиотека не установлена, то можно переходить к её установке с помощью команды PIP. ОСОБЕННОСТИ РАЗРАБОТКИ КОМПЬЮТЕРНЫХ ИГР • ИГРЫ ОТНОСЯТСЯ К МУЛЬТИМЕДИЙНЫМ ПРИЛОЖЕНИЯМ. ОДНАКО, В ОТЛИЧИЕ ОТ ДРУГИХ ПРИЛОЖЕНИЙ ЭТОЙ ГРУППЫ, ДЛЯ НИХ ХАРАКТЕРНА СЛОЖНАЯ ПРОГРАММНАЯ ЛОГИКА И НЕРЕДКО МНОГО МАТЕМАТИКИ, ХОТЯ ДОСТАТОЧНО ПРОСТОЙ, ПЛЮС ЭМУЛЯЦИЯ ФИЗИЧЕСКИХ ЯВЛЕНИЙ. • В ПРОГРАММНОМ КОДЕ ИГРЫ ВЫДЕЛЯЮТ ТРИ ОСНОВНЫХ ЛОГИЧЕСКИХ БЛОКА: 1. ОТСЛЕЖИВАНИЕ СОБЫТИЙ, ПРОИЗВОДИМЫХ ПОЛЬЗОВАТЕЛЕМ И НЕ ТОЛЬКО ИМ. 2. ИЗМЕНЕНИЕ СОСТОЯНИЙ ОБЪЕКТОВ, СОГЛАСНО ПРОИЗОШЕДШИМ СОБЫТИЯМ. 3. ОТОБРАЖЕНИЕ ОБЪЕКТОВ НА ЭКРАНЕ, СОГЛАСНО ИХ ТЕКУЩИМ СОСТОЯНИЯМ. ЭТИ ТРИ ЭТАПА ПОВТОРЯЮТСЯ В ЦИКЛЕ БЕСЧИСЛЕННОЕ КОЛИЧЕСТВО РАЗ, ПОКА ИГРА ЗАПУЩЕНА. Создание программного кода После установки Pygame нужно запустить Python, создать новый файл, а затем - игровое окно. ДОБАВЬТЕ ФУНКЦИЮ В ПРОГРАММУ: import pygame #устанавливает библиотеку Рygame pygame.init() #вызывает Рygame screen = pygame.display.set_mode([640, 480]) #задает размеры окна Рygame 640х480 ОТСЛЕЖИВАНИЕ СОБЫТИЙ ДОБАВЬТЕ ФУНКЦИЮ В ПРОГРАММУ: import pygame #устанавливает библиотеку Рygame pygame.init() #вызывает Рygame screen = pygame.display.set_mode([640, 480]) #задает размеры окна Рygame running = True while running: for event in pygame.event.get(): if event.type == pygame.QUIT: #Отслеживание событий running = False pygame.quit() #закрытие окна Любая игровая программа должна быть на связи с игроком (пользователем). Поэтому в программах с модулем Pygame используется команда event loop – цикл событий , постоянно проверяющий, выполняет ли пользователь какое-либо действие или нет. Это окно не отвечает щелчкам мыши. В Pygame-программах цикл должен работать непрерывно. РИСОВАНИЕ ФИГУР. КРУГ Команды Pygame.draw дают возможность построить геометрические фигуры, принадлежащие библиотеке PyGame, такие как: круги, прямые и прямоугольники. R x,y РИСОВАНИЕ ФИГУР. ЛИНИЯ Команды Pygame.draw дают возможность построить геометрические фигуры, принадлежащие библиотеке PyGame, такие как: круги, прямые линии и прямоугольники. РИСОВАНИЕ ФИГУР. ПРЯМОУГОЛЬНИК Команды Pygame.draw дают возможность построить геометрические фигуры, принадлежащие библиотеке PyGame, такие как: круги, прямые линии и прямоугольники. ПРИМЕР Поверхность в модуле Pygame В модуле Pygame поверхность (surface) – это то, на чем вы рисуете. Поверхность отображения (display surface) – то, что вы видите на экране. Именно она в коде получила имя screen Но в Pygame-программе при разработке игр может быть множество поверхностей. Цвета в модуле Pygame В модуле Pygame используется распространенная цветовая модель RGB. Буквы R, G и B означают красный (red), зеленый (green) и синий (blue) цвета. Каждый цвет может иметь значение от 0 до 255. Оттенки задаются комбинацией трёх цветов. ПРИМЕР РИСОВАНИЯ ФИГУР ДОБАВЬТЕ ФУНКЦИЮ В ПРОГРАММУ: import pygame pygame.init() screen = pygame.display.set_mode ([360, 320]) screen.fill([255,255,255]) pygame.draw. circle (screen, [93,68,255],[170,60], 50, 0) pygame.draw. rect (screen, [255,0,0], [80, 130, 180, 180], 0) pygame.draw. line (screen, [0,255,33], [50, 100], [50, 300],5) pygame.display.flip() running = True while running: for event in pygame.event.get(): if event.type == pygame.QUIT: running = False pygame.quit() Что будет изображено на экране? ПРАКТИЧЕСКАЯ РАБОТА НА КОМПЬЮТЕРЕ Задание 1. «Графические примитивы» 1. СОЗДАЙТЕ СВОЮ ПЕРВУЮ ПРОГРАММУ, ИСПОЛЬЗУЯ ГОТОВЫЙ СЦЕНАРИЙ И БИБЛИОТЕКУ PYGAME ЯЗЫКА PYTHON. 2. ИНИЦИАЛИЗИРУЙТЕ БИБЛИОТЕКУ PYGAME. 3. СОЗДАЙТЕ ПРОСТОЙ ЭКРАН, ИСПОЛЬЗУЯ ГОТОВЫЕ МЕТОДЫ БИБЛИОТЕКИ PYGAME. 4. Измените цвет, положение и размеры объектов предыдущего примера. ДЕСКРИПТОРЫ: • ПОДКЛЮЧАЕТ УСТАНОВЛЕННУЮ БИБЛИОТЕКУ PYGAME; • СОЗДАЕТ ПРОСТОЙ ЭКРАН, ИСПОЛЬЗУЯ СООТВЕТСТВУЮЩИЕ МЕТОДЫ; • ВЫВОДИТ ФИГУРЫ НА ЭКРАН. МЕНЯЕТ ЦВЕТА И ПОЛОЖЕНИЕ ФИГУР. Формативное оценивание https:// onlinemektep.org Урок “Библиотека PyGame. Урок 1” ПРАКТИЧЕСКАЯ РАБОТА НА КОМПЬЮТЕРЕ Задание 2 (Синтез). «Паровозик» ДЕСКРИПТОРЫ: • ПОДКЛЮЧАЕТ БИБЛИОТЕКУ PYGAME; • СОЗДАЕТ ПРОСТОЙ ЭКРАН; • ВЫВОДИТ ФИГУРЫ НА ЭКРАН (ПО КООРДИНАТАМ) ЗАДАННЫХ ЦВЕТОВ. Представьте программу рисования фигур, показанных на рисунке, с помощью команд pygame.draw РЕФЛЕКСИЯ ДОСТИЖЕНИЕ ЦЕЛЕЙ УРОКА 1. В чем заключается функция модуля Pygame? 2. Как можно запустить модуль Pygame? 3. С какими командами вы познакомились для создания геометрических фигур? 4. Как выбираются цвета в Pygame? |