- Любовные романы
- Фантастика и фэнтези
- Ненаучная фантастика
- Ироническое фэнтези
- Научная Фантастика
- Фэнтези
- Ужасы и Мистика
- Боевая фантастика
- Альтернативная история
- Космическая фантастика
- Попаданцы
- Юмористическая фантастика
- Героическая фантастика
- Детективная фантастика
- Социально-психологическая
- Боевое фэнтези
- Русское фэнтези
- Киберпанк
- Романтическая фантастика
- Городская фантастика
- Технофэнтези
- Мистика
- Разная фантастика
- Иностранное фэнтези
- Историческое фэнтези
- LitRPG
- Эпическая фантастика
- Зарубежная фантастика
- Городское фентези
- Космоопера
- Разное фэнтези
- Книги магов
- Любовное фэнтези
- Постапокалипсис
- Бизнес
- Историческая фантастика
- Социально-философская фантастика
- Сказочная фантастика
- Стимпанк
- Романтическое фэнтези
- Ироническая фантастика
- Детективы и Триллеры
- Проза
- Юмор
- Феерия
- Новелла
- Русская классическая проза
- Современная проза
- Повести
- Контркультура
- Русская современная проза
- Историческая проза
- Проза
- Классическая проза
- Советская классическая проза
- О войне
- Зарубежная современная проза
- Рассказы
- Зарубежная классика
- Очерки
- Антисоветская литература
- Магический реализм
- Разное
- Сентиментальная проза
- Афоризмы
- Эссе
- Эпистолярная проза
- Семейный роман/Семейная сага
- Поэзия, Драматургия
- Приключения
- Детская литература
- Загадки
- Книга-игра
- Детская проза
- Детские приключения
- Сказка
- Прочая детская литература
- Детская фантастика
- Детские стихи
- Детская образовательная литература
- Детские остросюжетные
- Учебная литература
- Зарубежные детские книги
- Детский фольклор
- Буквари
- Книги для подростков
- Школьные учебники
- Внеклассное чтение
- Книги для дошкольников
- Детская познавательная и развивающая литература
- Детские детективы
- Домоводство, Дом и семья
- Юмор
- Документальные книги
- Бизнес
- Работа с клиентами
- Тайм-менеджмент
- Кадровый менеджмент
- Экономика
- Менеджмент и кадры
- Управление, подбор персонала
- О бизнесе популярно
- Интернет-бизнес
- Личные финансы
- Делопроизводство, офис
- Маркетинг, PR, реклама
- Поиск работы
- Бизнес
- Банковское дело
- Малый бизнес
- Ценные бумаги и инвестиции
- Краткое содержание
- Бухучет и аудит
- Ораторское искусство / риторика
- Корпоративная культура, бизнес
- Финансы
- Государственное и муниципальное управление
- Менеджмент
- Зарубежная деловая литература
- Продажи
- Переговоры
- Личная эффективность
- Торговля
- Научные и научно-популярные книги
- Биофизика
- География
- Экология
- Биохимия
- Рефераты
- Культурология
- Техническая литература
- История
- Психология
- Медицина
- Прочая научная литература
- Юриспруденция
- Биология
- Политика
- Литературоведение
- Религиоведение
- Научпоп
- Психология, личное
- Математика
- Психотерапия
- Социология
- Воспитание детей, педагогика
- Языкознание
- Беременность, ожидание детей
- Транспорт, военная техника
- Детская психология
- Науки: разное
- Педагогика
- Зарубежная психология
- Иностранные языки
- Филология
- Радиотехника
- Деловая литература
- Физика
- Альтернативная медицина
- Химия
- Государство и право
- Обществознание
- Образовательная литература
- Учебники
- Зоология
- Архитектура
- Науки о космосе
- Ботаника
- Астрология
- Ветеринария
- История Европы
- География
- Зарубежная публицистика
- О животных
- Шпаргалки
- Разная литература
- Зарубежная литература о культуре и искусстве
- Пословицы, поговорки
- Боевые искусства
- Прочее
- Периодические издания
- Фанфик
- Военное
- Цитаты из афоризмов
- Гиды, путеводители
- Литература 19 века
- Зарубежная образовательная литература
- Военная история
- Кино
- Современная литература
- Военная техника, оружие
- Культура и искусство
- Музыка, музыканты
- Газеты и журналы
- Современная зарубежная литература
- Визуальные искусства
- Отраслевые издания
- Шахматы
- Недвижимость
- Великолепные истории
- Музыка, танцы
- Авто и ПДД
- Изобразительное искусство, фотография
- Истории из жизни
- Готические новеллы
- Начинающие авторы
- Спецслужбы
- Подростковая литература
- Зарубежная прикладная литература
- Религия и духовность
- Старинная литература
- Справочная литература
- Компьютеры и Интернет
- Блог
Python для детей. Анимация с черепашьей графикой - Виктор Рабинович
Шрифт:
Интервал:
Закладка:
Таблица 30
Переидем теперь к рассмотрению конкретных примеров.
Летающий орел
Сценарий представленной ниже анимации заключается в том, что орел взмахивая крыльями пролетает через весь экран справа налево и исчезая появляется вновь с правой стороны. Первоначально в Интернете был найден анимационный файл орла, который, как оказалось имеет 21 статический кадр. Кадры отличаются друг от друга положением крыльев орла. Используя показанную выше программу(слева), мы преобразовали указанный файл в статические перенумерованные файлы по количеству, равному 21 и разместили их в фолдере(папке) вместе с основным файлом Python программы. В таблице 31 показаны коды полученной программы. Коды между строками 1 и 2 вводят в программу с помощью списка статические изображения орла. Коды между линиями 3 и 5 задают основной цикл движения орла, коды между линиями 4 и 5 дают возможность перебирать статические изображения орла, создавая эффект анимации со взмахами крыльев. В правой части таблицы показаны два статических кадра полученной анимации.
Таблица 31
Файлы изображений, используемые в этой программе могут быть скачаны с сайта:
https://github.com/victenna/Eagle-Motion
Aquarium
Еще один пример анимации с большим количаством статических спрайт-кадров показан в таблице 32: аквариум с водой и рыбками. Вода в аквариуме во время анимации находится в постоянном движении. Для создания этой анимации было использовано 74 статических кадров воды, которые получены из gif файла, с последующей раскадровкой с использованием программы превращения gif анимационного файла.
Коротко о структуре программы. Статические файлы с изображениями воды записаны в список AQ[]. Этот список первоначально пуст, т. е. в нем нет ни одного файла. Элементами списка становятся файлы с расширением gif, которыми пополняется список с помощью кодов, расположенных между линиями 1 и 2. Названиями файлов являются цифры, начиная от 0 и кончая цифрой 73, всего 74 файла. Все файлы, как было указано, имеют расширение gif. Файл с движущейся водой первоначально был найден в Интернете в виде анимационного gif файла. Затем с помощью программы, представленной в Таблице 30, он был преобразован в набор из 74 файлов, каждый из которых также имеет расширение gif. Между линиями 2 и 3 расположены файлы с изображением рыбы, плавающей в аквариуме. Основные коды, определяющие движение воды и рыбы расположены между линиями 4 и 5. Файлы изображений, используемые в этой программе могут быть скачаны с сайта:
https://github.com/victenna/Aquarium-with-water-waves
Видео с результами программы можно посмотреть по адресу
https://youtu.be/XeTwY9bwFLk
Таблица 32
Анимация с управлением от кнопки компьютерной мыши
Порхающая бабочка с машущими крыльями
Код и несколько статических кадров предлагаемой анимации представлены в Таблице 33.
Таблица 33
Для создания этой анимации мы используем управляющие кнопки компьютерной мыши. В нашем сценарии бабочка летает от одного места экрана к другому по клику левой кнопки компьютерной мышки. Наведя указатель мышки на желаемую точку экрана и кликнув кнопкой мышки, мы увидим как бабочка, помахивая крыльями перелетает в указанную нами точку. Управление анимацией с помощью кликов кнопки мышки возможно при использовании функции onclick() черепашьей библиотеки языка Питон. Рассмотрим более подробно коды программы. Строки между номерами 1 и 2 задают список файлов изображений 6-и цветков, которые будут размещены в окне экрана компьютера. Между цифрами 2 и 3 находятся коды, которые вводят изображения цветков в программу и устанавливают их в определенные координатные позиции на экране. Коды между номерами 3 и 4 вводят в программу с помощью списка файлы с изображением бабочки с порхающими крыльями. Таких файлов 18. Они отличаются друг от друга положением крыльев, создавая имитацию полета со взмахиванием крыльев. Обьект бабочка названа именем t и в бесконечном цикле while True по команде onclick() перелетает в желаемую точку. Желаемая точка на экране выбирается указателем мышки с последующим кликом левой кнопкой компьютерной мышки. 18 файлов бабочки с машущими крыльями было выбрано тем же методом, как и в примере, описанном в Таблице 32.
Файлы изображений, используемые в этой программе могут быть скачаны с сайта:
https://github.com/victenna/Flowers-and-Butterfly
Видео файл с полученной анимацией можно посмотреть по адресу:
https://youtu.be/tDESlsOs_0Y
28. Вертолет с парашютистами
Следующей анимацией, которую мы здесь покажем является полет вертолета с парашютистами. Во время полета по щелчку левой кнопки мышки с вертолета спускается парашютист. Программа также, как и предыдущая, использует функцию черепащьей библиотеки для управления кнопками компьютерной мышки onclick(). В таблицах 34-1 и 34-2 показан скрипт программы, с правой стороны показано несколько отдельных кадров анимации.
Таблица 34-1
Таблица 34-2(продолжение Таблицы 34-1)
Коротко обсудим основные блоки представленной программы. Коды, расположенные между линиями 1 и 2 вводят в программу файлы изображений вертолета и 5-и парашютистов. Функция между линиями 2 и 3 определяет движение парашютистов от вертолета к земле. Обращение к функции производится в основном цикле, коды которого расположены между линиями 6 и 8. Между линиями 3 и 4 расположены коды, которые заполняют список файлами спрайтов парашютистов. Между линиями 4 и 5 находятся коды, которые, с использованием функции <up_down(step):> определяют подьем вертолета. Основной цикл, задающий движение вертолета вдоль горизонта, определяется кодами между линиями 6 и 8. Внутри этого цикла имеется функция < def h(x,y): > , которая по щелчку левой кнопки мышки показывает анимацию парашютиста спускающегося на землю.
Файлы изображений, используемые в этой программе могут быть скачаны с сайта:
https://github.com/victenna/Helicopter
Видео файл с полученной анимацией можно посмотреть по адресу:
https://youtu.be/5P104dh_1cU
Заключение
Мы надеемся, что вы получили удовольствие, прочитав эту книгу и выполнив большинство из предложенных нами проектов. Основные базовые функции и команды, рассмотренные в наших примерах, характерны для любой библиотеки языка Python, не только черепашьей библиотеки. Освоив логику построения предложенных нами команд, вы сможете быстрее освоить более сложные библиотеки многих

