Darslar 23 · 1 ta dars · N. I. Taylaqov (umumiy muharrir), A. B. Axmedov, M. D. Pardayeva, A. A. Abdug‘aniyev, U. M. Mirsanov. Informatika va axborot texnologiyalari, 11-sinf, 1-nashr. «Extremum-press», Toshkent, 2018
23
Amaliy mashg‘ulot
Darslik: 83–85-betlar
MaqsadBir nechta animatsiya effektini bitta sahnada birlashtiradi: loyihani rejalashtiradi, obyektlarni alohida qatlam-elementlarda yaratadi, tugma bilan boshqaradi, tezlikni hisoblaydi va natijani turli ekranlarda sinaydi.
Yangi so‘zlar
sahna (stage) · stage: the area where the animated objects are shown; in HTML it is a positioned containerstoryboard · storyboard: a plan of the scene drawn frame by frame before building itanimation-play-state · animation-play-state: a CSS property that pauses or resumes an animationsinash (testing) · testing: running the page on different screens and browsers to find mistakes
Tushuntirish
Bir vaqtning o‘zida bir nechta animatsiya hosil qilish uchun har bir harakatlanuvchi obyekt alohida «qatlam»da bo‘ladi: Flash da bu alohida Layer edi, HTML da esa sahna ichidagi alohida element. Ish rejalashtirishdan boshlanadi: storyboard (kadrma-kadr reja) da obyektlar, ularning boshlang‘ich va oxirgi holati, davomiyligi yoziladi. Keyin sahna (kenglik, balandlik, fon) yaratiladi, har bir obyekt elementi va uning CSS animatsiyasi yoziladi. Har bir animatsiya o‘z davomiyligi va tezligiga ega bo‘lishi mumkin, shuning uchun obyektlar bir-biriga bog‘liq bo‘lmay harakatlanadi (bulut 10 soniyada, quyosh 6 soniyada). Harakat tezligi = masofa : vaqt; masalan, bulut chapdagi –100 pikseldan 400 pikselgacha (500 piksel) 10 soniyada o‘tsa, tezligi 50 piksel/s. Foydalanuvchi boshqaruvi uchun tugma va JavaScript ishlatiladi: classList.toggle sahnaga sinfni qo‘shadi yoki olib tashlaydi, CSS esa shu sinfga qarab animation-play-state: paused beradi. Tayyor ishni sinash shart: boshqa brauzerda va telefon o‘lchamida ochib ko‘ring, animatsiya o‘z-o‘zidan to‘xtamasligini, matn o‘qilishini tekshiring; xato bo‘lsa, brauzerning ishlab chiquvchi vositalari (F12) konsolidagi xabarlarga qarang. Faylni ishlab bo‘lgach, kodning nusxasini saqlang va boshqa odamning rasm yoki ovozini ruxsatsiz ishlatmang.
Tezliklar: bulut 400 – (–100) = 500 piksel yo‘lni 10 soniyada o‘tadi, tezligi 500:10 = 50 piksel/s; quyosh 100 dan 10 gacha, ya’ni 90 piksel yuqoriga 6 soniyada ko‘tariladi, tezligi 90:6 = 15 piksel/s (ease-in-out tufayli o‘rtacha). 30 soniyada bulut 30:10 = 3 marta o‘tadi.
Sinfda faoliyat
«Studiya»: uchtalik guruhlar (rejissyor, dasturchi, tekshiruvchi) 3 ta obyektli sahna yasaydi – masalan, kun va kecha, mashina va bulut; so‘ng rollarni almashtirib, bir-birining ishini sinaydi va xatolar ro‘yxatini yozadi.
Mashq
1
Animatsiyali sahnani tayyorlashning asosiy bosqichlarini tartib bilan yozing.
Rejalashtirish (storyboard) → sahna va obyektlar → animatsiya kodi → boshqaruv tugmasi → sinash → saqlash.
2
Obyekt 600 pikselni 12 soniyada tekis o‘tsa, tezligi necha piksel/s?
50
3
Sahifada animatsiya ishlamayapti. Qanday tekshiruvlarni bajarasiz? (kamida uchta)
@keyframes nomi animation xossasidagi nom bilan bir xilmi; element position va o‘lchamga egami; kodda xato yo‘qmi (F12 konsol); brauzerda «harakatni kamaytirish» yoqilmaganmi.
4
Nima uchun tayyor sahnani telefon o‘lchamida ham sinash kerak?
Sahna kengligi qat’iy bo‘lsa, kichik ekranda sig‘maydi yoki kesilib qoladi; foydalanuvchilarning ko‘pchiligi telefondan kiradi.