Тема 5: «Алгоритми та програми». Урок № 58. (До § 37)
Створення анімації
Інтерактивний план-конспект уроку для 8 класу НУШ
🎯 Мета уроку
- Освітня: познайомити учнів з основними принципами та методами створення анімації за допомогою модуля `tkinter` в Python; навчити програмувати рух об'єктів та реакцію на події.
- Розвивальна: розвивати алгоритмічне та логічне мислення, навички самостійного створення програм з анімаційними ефектами, вміння аналізувати та модифікувати код.
- Виховна: виховувати інтерес до програмування, творчий підхід до розв'язання задач, уважність та послідовність у роботі.
✅ Очікувані результати
Після уроку учні зможуть:
- Пояснювати принцип створення анімації в `tkinter`.
- Використовувати методи `canvas.move()` та `root.after()` для створення руху.
- Програмувати реакцію об'єктів на події (натискання клавіш, миші) за допомогою `canvas.bind()`.
- Створювати анімації шляхом послідовної зміни зображень.
- Розробляти прості анімаційні програми в Python.
📊 Групи результатів (НУШ)
Візуалізація важливості груп результатів для цього уроку.
Учень / учениця:
ГР1 – працює з інформацією, даними, моделями;
ГР2 – створює інформаційні продукти;
ГР3 – працює в цифровому середовищі;
ГР4 – безпечно та відповідально працює з інформаційними технологіями.
📚 Тип уроку
Урок вивчення нового матеріалу та формування практичних навичок.
💻 Обладнання та ПЗ
- Персональні комп'ютери з встановленим Python та `tkinter`.
- Середовище розробки (IDLE, VS Code).
- Проєктор або інтерактивна дошка.
🔗 Міжпредметні зв'язки
- Математика (координатна площина, рух).
- Фізика (рух об'єктів, швидкість).
- Мистецтво (мультиплікація, візуальні ефекти).
ПОВТОРЮЄМО
Актуалізація опорних знань
- Які модулі Python потрібні для створення графічних зображень з випадковими елементами?
- Яка функція з модуля `random` дозволяє отримати випадкове ціле число в певному діапазоні?
- Як використовувати список кольорів для випадкової заливки фігур?
- Які переваги використання функцій для малювання повторюваних елементів?
- Опишіть, як можна змінити програму для малювання прямокутників так, щоб замість них малювалися кола з випадковими координатами.
- Який модуль використовується для створення графічного вікна у Python?

Практичний блок уроку
Питання 1: Множинний вибір (радіокнопки)
Який метод `Canvas` використовується для переміщення об'єкта?
Питання 2: Заповнення пропусків
Заповніть пропуски для створення анімації з послідовною зміною зображень:
root.
(
мілісекунди
,
) #Впишіть метод (after) та функцію (play)
Питання 3: Множинний вибір (чекбокси)
Які способи створення анімації розглядаються в уроці?
Питання 4: Зіставлення
Зіставте метод з його призначенням в `tkinter` для анімації:
canvas.move()
tk.update()
root.after()
canvas.bind()
Завдання для самостійного виконання
- Модифікуйте програму з рухом круга, щоб він відскакував від країв вікна.
- Створіть програму, яка анімує "космічний корабель", що рухається по екрану за допомогою клавіш управління курсором і стріляє лазерними променями (лінії Canvas).
- Створіть анімацію, де об'єкт змінює не лише позицію, а й колір або розмір з плином часу.
- Виконайте завдання № 6 з питань для самоперевірки (стор. 246) — Створіть програму, що показує, як зоряним небом рухається космічний зонд Кассіні.
Перевірка знань
Натисніть на картку, щоб побачити відповідь.
-
1. Які функції призначено для переміщення об'єкта по полотну?Для переміщення об'єкта по полотну `Canvas` призначено метод `.move(item, x, y)`.
Наприклад,
canvas.move(item, x, y) -
2. Як запрограмувати реакцію об'єкта на подію?Реакцію об'єкта на подію програмують, описуючи функцію-обробник події та пов'язуючи об'єкт з подією за допомогою методу `.bind(подія, функція)`.
Наприклад,
canvas.bind(подія, функція) -
3. Поясніть призначення аргументів методу `canvas.bind('<KeyPress-Up>', step)` .`'<KeyPress-Up>'` – це подія натискання клавіші "стрілка вгору".
`step` – це функція-обробник, яка буде викликана при настанні цієї події. -
4. Як створити анімацію шляхом послідовної зміни зображень?Для цього потрібно підготувати серію графічних файлів (кадрів), послідовно завантажувати їх та відображати на `Canvas`, використовуючи метод `.after()` для затримки між кадрами.
Наприклад,
root.after() -
5. Який метод використовується для оновлення вікна `tkinter`?Для оновлення відображення вікна `tkinter` використовується метод `.update()`.
Наприклад,
tk.update()
Домашнє завдання
1. Теоретична частина:
- Опрацювати § 37 (стор. 241-246).
2. Практична частина:
- Виконати завдання із прикладу № 4 (стор. 243-245).
3. Завдання за бажанням (для закріплення):
- Інтерактивна платформа IZZI (8 клас) до § 37: https://ua.izzi.digital/DOS/1183864/1337134.html

Додаткові матеріали
- Техніка безпеки
- Оцінювання учнів та учениць на уроках інформатики
- Підручник з інформатики для 8 класу (§ 37, стор. 241-246)
- Інтерактивна платформа IZZI (8 клас)
- Інтерактивна платформа IZZI (8 клас) до § 37: https://ua.izzi.digital/DOS/1183864/1337134.html