Читаем Python для детей. Анимация с черепашьей графикой полностью

Пример демонстрирует использование нескольких спрайтов –изображений для создания анимации движения автомобилей вдоль улицы. При этом окно экрана-сцена также является движущимся изображением, которое усиливает анимационный эффект. В таблице 28 приведен соответствующий код программы

Таблица 28

Поясним работу программы. Скрипты функции object, расположенные между линиями 1 и 2, описывают изображения, которые затем вводятся в программу с помощью кодов между линиями 2 и 3. Функция object имеет следующие параметры: файл изображения и координаты изображения на координатной плоскости экрана. В качестве обьектов используются: изображение улицы (файл с изображением улицы 'street.gif',-500,0; файл с изображением первой машины 'car_1.gif'; файл с изображением второй машины 'car_2.gif'; файл с изображением третьей машины 'car_2.gif'. и Все изображения имеют свои начальные координаты, которые задаются параметрами функции X, Y. Движение автомобилей и перемещение улицы определяется скриптами, расположенными между строками 3 и 4. С правой стороны в таблице показаны несколько кадров полученной анимации. Файлы изображений, используемые в программе могут быть скачаны с сайта:

https://github.com/victenna/Cars-on-a-road

Пешеходный переход

В демонстрируемом проекте участвуют несколько обьектов: три пешехода (каждый пешеход имеет 6 спрайт-изображений, отличающихся положением ног, для имитации движения); автомобиль(один спрайт); светофор с тремя спрайтами для создания переключающегося света (красный, желтый и зеленый); знак, обозначающий для пешехода необходимость переходить улицу либо стоять, когда автомобиль движется по улице (два спрайта).

Несколько кадров сценария, реализованного с помощью этой программы, приведено ниже

Полный скрипт программы показан ниже в таблицах 29-1 и 29-2

Таблица 29-1

Таблица 29-2(продолжение Таблицы 29-1)

Работа блоков, входящих в состав программы, следующая:

Коды между блоками 1 и 2 определяют списки изображений, которые используются в программе;

Коды между блоками 2 и 3 добавляют к экрану указанные изображения;

Коды между линиями 3 и 4, а также между линиями 4 и 5 определяют (с использованием библиотеки черепашьей графики) необходимые обьекты, которые затем используются в программе;

Коды между линиями 6 и 7 задают цикл, с помощью которого осуществляется движение автомобиля, переключение светофора, движение пешеходов, а также переключение знака, разрешающего пешеходам двигаться. Все движения обьектов подчиняются логике правильного движения на пешеходном перекрестке. Коды между линиями 7 и 8 задают логику повтора движения пешеходов при условии, что они(пешеходы) уходят за правый край экрана. При этом сценарий анимации движения повторяется.

Файлы изображений, используемые в этой программе могут быть скачаны с сайта:

https://github.com/victenna/Pedestrian-Crossing

Видео файл с полученной анимацией можно посмотреть по адресу:

https://youtu.be/zvTHDusc-H0

<p>Особенности анимации с большим количеством спрайт-файлов</p>

В примерах, которые показаны ниже, используется большое количество спрайтов изображений. Все статические спрайты получены из анимационных файлов с расширением gif. Каждый такой файл может содержать десятки а иногда и сотни статических кадров, и конечно вводить в программу каждый статический файл крайне неудобно. Для ускорения ввода таких файлов в программу Python можно воспользоваться специальной программой, преобразующей gif анимационный файл в набор статических перенумерованных в определенном порядке файлов, каждый из которых имеет такое же расширение gif , пригодное для использования в основной программе. Две возможные программы для ковертирования анимационного изображения в набор статических файлов показаны в таблице 30. Для того, чтобы воспользоваться показанными программами необходимо проинсталировать на компьютер в среду Python библиотеку PIL, которая имеется в свободном интернете. С левой стороны показана программа, в которой не нужно задавать количество кадров gif файла, с правой стороны – программа, в которой необходимо задать количество кадров пробразуемого файла. Т.е., в первом случае количество кадров-изображений(frames) определяется исходным файлом, во втором случае этим количеством можно варьировать. Как в левой так и в правой программе строка с пометкой ! задает исходный анимационный файл с расширением gif, строки с пометкой !! определяют статические gif файлы.

Таблица 30

Переидем теперь к рассмотрению конкретных примеров.

Летающий орел

Перейти на страницу:

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных