Файл: Анимирование персонажей в PyGame. Lesson goalSuccess criteria.pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 03.12.2023
Просмотров: 26
Скачиваний: 3
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Анимирование персонажей в PyGame.
Lesson goal
Success criteria
9.3.3.7 программировать движение персонажа
9.3.3.8 управлять персонажами с клавиатуры
• Оживлять персонажей игры PyGame (пайгейм);
• Использовать клавиатуру для управления персонажем игры;
Урок 27
Вспомни!
1 2
3 4
6 5
7
Запомни!
Animation – «оживление»
Motion – движение
Event – событие
Frame frequency - частота кадров Frame – кадр
Анимация - «оживление» - процесс применения эффектов или кодов для быстрой смены кадров на экране, создающий эффект движения
Алгоритм создания движения
1.
Нарисовать на поверхности фигуру.
2.
Обновить окно игры, при этом изображение отобразится на экране.
3.
Удалить фигуру.
4.
Нарисовать фигуру с небольшим смещением от предыдущей позиции.
5.
Обновить окно игры.
6.
Повторять действия 4 и 5, смещая фигуру в направлении движения.
Событие - действие, .которое может быть инициировано пользователем, устройством типа таймера, клавиатурой или даже ОС.
Точка (пиксель) на экране задается координатами (х,у). Начало отсчета начинается с точки (0,0), расположенной в верхнем левом углу.
Координата х увеличивается слева направо, координата у увеличивается в направлении сверху вниз.
Смещение объекта задается с помощью изменения координат. Шаг смещения должен быть небольшим, тогда движение будет плавным. Если перемещение происходит по горизонтали, то меняется координата х. При движении по вертикали меняется координата у.
Изучи!
Система координат
Изучи!
Способы
анимирования
Вызов функции delay()
Создание объекта Clock
Стр.137
pygame.time.delay()
Задает частоту смены кадров в миллисекундах. Чем меньше число в скобках, тем быстрее будет обновляться окно игры.
Стр.138
сlock.tick()
Задает частоту смены кадров без указания времени. Задержку метод определяет сам. В скобках указывают количество кадров или FPS. Чем меньше число в скобках, тем реже будет обновляться окно игры.
Изучи!_Способ_«Clock»'>Изучи!
Основные команды
pygame.time.delay() – организация задержки смены кадров
сlock.tick() – частота смены кадров
screen.fill((цвет)) – заполнение окна цветом по коду RGB
pygame.display.flip() – обновление экрана
pygame.display.update() – экономичное обновление части
изображения
Изучи!
Способ «Clock»
Задает радиус круга, левую границу, выравнивание по вертикали посредине
Повторяющаяся заливка окна указанным цветом, чтоб создать эффект обновления экрана
Смещение центра круга с маленьким шагом для создания плавности движения
ПРИМЕР 1.
Изучи!
Составим код из
блоков
ПРИМЕР 2.
Изучи!
ПРИМЕР 3.
Три персонажа движутся в разные стороны, анимация организована через смещение начальных координат по ширине (по х).
И достигнув края окна, возвращаются в начальные положения, чтоб начать снова… т.е. бесконечно!
Изучи!
Управление клавишами
При нажатии клавиш на клавиатуре происходят определенные события, обработку которых выполняет модуль pygame.event.
События клавиатуры делятся на два типа: клавиша нажата pygame.KEYDOWN, клавиша отпущена pygame.KEYUP.
Оба события имеют атрибуты key и mod.
Клавиши в программе можно задавать константами. В таблице представлены некоторые клавиатурные константы.
Стр. 139
Изучи!
ПРИМЕР 4.
Шаг за шагом
Стр.141
Управление прямоугольником с помощью клавиш: стрелка- вверх – вниз – вправо - влево
Заливка окна черным цветом
Рисуем синий прямоугольник
Начальные значения координат для ограничения движения
Упр Билимленд « Анимирование персонажей Урок 1, 2» за 4 мая https://onlinemektep.org/schedule/04.05.2021/lesson/69f22339-66bd-4b51-bed3- a8c69ab435dd https://onlinemektep.org/schedule/04.05.2021/lesson/45e32ced-47d1-49f3-b6aa-
246a4ee38a9d
Выполни ПР «Анимирование персонажей».
На основе своей заготовки .
Прислать видео с фрагментом управления персонажем клавишами по WA.
До 10 мая, до 18.00 1 персонаж двигается автоматизировано но бесконечно. См. ПРИМЕР-3.
2-ой персонаж управляется клавишами вверх-вниз-вправо-влево
Смотрим ПРИМЕР-4.
Выполни!
50%
50%
Reflection
I have known________________________
Now I can ____________________________
I have question _____________________________
Success criteria
• Оживлять персонажей игры PyGame (пайгейм);
• Использовать клавиатуру для управления персонажем игры;
Оцени!