Логотип сайту
Інформатика 8 клас

Тема 5: «Алгоритми та програми». Урок № 58. (До § 37)

Створення анімації

Інтерактивний план-конспект уроку для 8 класу НУШ

🎯 Мета уроку

  • Освітня: познайомити учнів з основними принципами та методами створення анімації за допомогою модуля `tkinter` в Python; навчити програмувати рух об'єктів та реакцію на події.
  • Розвивальна: розвивати алгоритмічне та логічне мислення, навички самостійного створення програм з анімаційними ефектами, вміння аналізувати та модифікувати код.
  • Виховна: виховувати інтерес до програмування, творчий підхід до розв'язання задач, уважність та послідовність у роботі.

✅ Очікувані результати

Після уроку учні зможуть:

  • Пояснювати принцип створення анімації в `tkinter`.
  • Використовувати методи `canvas.move()` та `root.after()` для створення руху.
  • Програмувати реакцію об'єктів на події (натискання клавіш, миші) за допомогою `canvas.bind()`.
  • Створювати анімації шляхом послідовної зміни зображень.
  • Розробляти прості анімаційні програми в Python.

📊 Групи результатів (НУШ)

Візуалізація важливості груп результатів для цього уроку.

Учень / учениця:

  • ГР1 – працює з інформацією, даними, моделями;

  • ГР2 – створює інформаційні продукти;

  • ГР3 – працює в цифровому середовищі;

  • ГР4 – безпечно та відповідально працює з інформаційними технологіями.

📚 Тип уроку

Урок вивчення нового матеріалу та формування практичних навичок.

💻 Обладнання та ПЗ

  • Персональні комп'ютери з встановленим Python та `tkinter`.
  • Середовище розробки (IDLE, VS Code).
  • Проєктор або інтерактивна дошка.

🔗 Міжпредметні зв'язки

  • Математика (координатна площина, рух).
  • Фізика (рух об'єктів, швидкість).
  • Мистецтво (мультиплікація, візуальні ефекти).

ПОВТОРЮЄМО

Актуалізація опорних знань

  1. Які модулі Python потрібні для створення графічних зображень з випадковими елементами?
  2. Яка функція з модуля `random` дозволяє отримати випадкове ціле число в певному діапазоні?
  3. Як використовувати список кольорів для випадкової заливки фігур?
  4. Які переваги використання функцій для малювання повторюваних елементів?
  5. Опишіть, як можна змінити програму для малювання прямокутників так, щоб замість них малювалися кола з випадковими координатами.
  6. Який модуль використовується для створення графічного вікна у Python?
Знак питання

Джерело: Підручник з інформатики для 8 класу (стор. 239)

Практичний блок уроку

Питання 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()

Джерело: Підручник з інформатики для 8 класу (стор. 246)

Домашнє завдання

1. Теоретична частина:

  • Опрацювати § 37 (стор. 241-246).

2. Практична частина:

  • Виконати завдання із прикладу № 4 (стор. 243-245).

3. Завдання за бажанням (для закріплення):

Учні з книгами або комп'ютерами

Додаткові матеріали