Action Script 2
Приклад 1. Створення маски
Нанесіть на сцену на єдиний шар Фон екземпляр графічного символу.
Створіть новий шар вище за шар Фон і назвіть його Маска.
Клацніть правою клавішею миші на ім'я Маска та виберіть Mask.
Зніміть блокування шару-маски.
Намалюйте на шарі-масці фігуру так, щоб вона перекривала частину зображення в шарі Фон, що маскується.
Приклад 2. Використання кількох масок, ефект збільшувального скла
1. Надайте єдиному шару документа ім'я Текст і створіть у ньому статичний блок. Напишіть у блоці будь-який чотиривірш.
2. Створіть вище маскуючий шар Маска 2 і намалюйте в ньому прямокутник, що повністю закриває текст, всередині прямокутника намалюйте коло, яке дорівнюватиме збільшувальному склу. Видаліть заливку кола.
3. Створіть ще один шар і помістіть у ньому збільшений текст, для цього створіть копію першого тексту і збільшіть у тексту розмір шрифту.
4. Ще вище створіть шар-маску Маска 1. У цьому шарі намалюйте залитий круг такого ж розміру та розташування, як і на шарі Маска 2 (розміри та координати можна дізнатися на панелі властивостей Properties).
5. Протестуйте результат.
6. Створіть ще один шар і намалюйте в ньому обрамлення скла і ручку лінзи.
Приклад 3. Висвітлення променем ліхтарика темного місця в інтер'єрі
Імпортуйте обидва зображення до бібліотеки документа Flash (File – Import – Import to Library).
Створіть три шари з іменами: Темний, Світлий, Маска. Нижній шар – Темний. На два нижні шари помістіть темний і світлий малюнки, що збігаються за розміром та місцезнаходженням.
На шарі-масці створіть анімацію руху (motion) плями від ліхтарика (всього кадрів 60, анімаціюстворіть по кривій траєторії зі зміною розмірів плями).
На кожному шарі створіть однакову кількість кадрів.
Завдання 1. Створення кліпів-масок.
Створіть символ типу Movie clip, у якому зобразіть рух об'єкта будь-якого виду, будь-яким способом. Цей кліп може бути просто статичним зображенням. Це буде маскований кліп.
Нанесіть екземпляр символу на сцену і дайте екземпляру символу masked ім'я.
Створіть символ типу Movie clip, у якому зобразіть рух об'єкта будь-якого виду, будь-яким способом. Можливий рух по напрямній. Це буде кліп-маска.
Створіть на сцені шар-маску та перенесіть до нього екземпляр кліпу-маски. Введіть екземпляру символу ім'я mask (у полі Instance Name).
1 Кліп-маска має бути досить великим зображенням на всіх ділянках анімації.
2. Можливе створення на сцені двох нормальних шарів для екземплярів кліпів. У цьому випадку шар-маску створюють у сценарії, для кадру нижнього шару потрібно написати оператор:
Можна помістити обидва кліпи на один нормальний шар. Після цього для кадру необхідно написати вказаний вище оператор. При використанні сценаріїв результат виглядає цікавішим.
Забезпечте за допомогою масок виведення на екран чотиривірша за літерами та рядковим. Виведений рядок повинен залишатися на екрані.
Лабораторна робота №5
Елементи інтерфейсу користувача, кнопки
Ціль роботи: створення кнопок, вивчення різноманітних прийомів роботи з кнопками.
Кнопки є найчастіше використовуваним елементом інтерфейсу користувача. Кнопки здатні реагувати на події. Функціональністю кнопки можна наділити текст, статичний графіки або кліп. Кнопки можна створювати самостійно, а також користуватися наявними вбібліотеки готові кнопки. Виклик бібліотеки кнопок здійснюється командою:
Wipdоw – ОthеrРаnеls – Соmmоn Libraries - Buttons
Приклад 1. Створення символу кнопки
1. Виконайте команду Insert – New Symbol – Button.
У режимі редагування нового символу виникнуть 4 кадри, які відповідатимуть:
Up – вказівник миші не знаходиться над кнопкою.
Over – покажчик миші знаходиться над кнопкою.
Down – покажчик миші знаходиться над кнопкою та натиснута ліва клавіша миші.
Hit – кадр визначення активної області кнопки, реагує на натискання кнопки миші.
2. Оформіть зовнішній вигляд кнопки у кожному кадрі.
3. Переведіть символ кнопки на сцену.
Приклад 2 Перехід за посиланням при натисканні на кнопку:
1. Виділіть кнопку і відкрийте панель створення програмних кодів Actions – Button, що знаходиться внизу екрана. Напишіть наступний код.
getURL(“шлях до файлу або ресурсу”) >
Примітка: подія release означає, що обробка події почнеться після того, як користувач наведе вказівник миші на кнопку, натисне і відпустить клавішу миші.
Приклад 3 Прокручування тексту у полі введення даних
У цьому прикладі при введенні великого тексту можна прокручувати вгору і вниз.
1. Знайдіть у спільній бібліотеці кнопок кнопки Key-UpuKey-Down і нанесіть їх на сцену в шар Кнопки. Вище шару Кнопки створіть шар Текст і створіть текстовий блок Input text. Надайте текстовому блоку ім'я mytext (у полі Instance Name), змініть на панелі властивостей режим Single line на режим Multiline.
2. Виділіть кнопку зі стрілкоювгоруі на панелі Action для цієї виділеної кнопки напишіть:
Виділіть кнопку зі стрілкоювнизі напишіть:
3. Протестуйтерезультат.
Приклад 4. Аналіз введених з екрану даних
Створіть символ типу Button, вкажіть зовнішній вигляд кнопок у кадрах (перехід від кадру до кадру F6).
Нанесіть кнопку екземпляр символу на сцену і напишіть для нього код. За подією release відбуватиметься аналіз віку, що вводиться користувачем.
При введенні віку в поле Input Text це значення заноситься до змінної з ім'ям age1. Ім'я змінної age1 необхідно записати як var. Слід вказати в Instance Names age (ім'я об'єкта Input Text) та var age1 (ім'я змінної).
Напишіть код для кнопки:
if (age1==16) trace («Ваш вік – молодий»);
else trace («age=»+age1); >
Слово trace означає, що використовується вікно виводу Output. У вікні Output з'явиться або повідомлення ваш вік - молодий, або напис age = число. Цей приклад можна змінити, якщо на сцену додати об'єкт Dynamic Text, тоді повідомлення можна виводити в його полі, наприклад, дати об'єкту Dynamic Text ім'я vivod, задати var ім'я змінної age2 і змінити код для кнопки. У цьому відбудеться аналіз віку і виведення повідомлень над вікно виведення повідомлень, а область динамічного тексту.
if (age1==16) age2="Ваш вік - молодий";
Створіть символ кнопки, використовуючи як основу напис Static Text. Події release цієї кнопки виведіть на екран будь-який файл.
Нанесіть на сцену кнопку, створену будь-яким способом. Для події release цієї кнопки напишіть програмний код, в якому обробляється введена користувачем з екрана інформація. Користувач вводить радіус кола і бачить на екрані довжину кола та площу кола.
Лабораторна робота №6
Програмування мовою ActionScript під час створення Flash документів
Мета роботи: використання програмнихкоди для створення Flash документів.
При розробці Flash – документ можна обійтися і без сценаріїв. Але за допомогою сценаріїв можна забезпечувати інтерактивність, керувати завантаженням та відтворенням Flash – документів, створювати ефекти анімації без шкали Timeline, описувати дії, що відбуваються під час настання подій.
Сценаріїможуть бути прив'язані докадрівтимчасової шкали абосимволів, наприклад типу Movie clip або Button (кнопок).
Сценарії, прив'язані до кадру, починають виконуватися тоді, коли програвач розпочне відтворення цього кадру.
Сценарії, прив'язані до символу зазвичай виконують обробку різних подій, які можуть бути пов'язані з цим символом.
Для написання сценаріїв є панель Action (дії). У заголовку цієї панелі вказується, до чого належить сценарій: кадр, символ або кнопка.
Сценарії та мова ActionScript
Програми повинні підтримувати режим взаємодії з користувачем інтерактивність.
Для забезпечення інтерактивності потрібні три речі: елементи, здатні реагувати на події (events), власне події та обробники подій (handlers). Елементами, які здатні реагувати на події є символи типу Button, Movie Clip та компоненти інтерфейсу користувача.
Обробка подій відбувається через функції, які називаються обробниками подій та описуються у сценаріях. Символи Button та Movie clip реагують на події, пов'язані з мишею та клавіатурою.
press – кнопка миші натиснута, коли покажчик перебуває у межах об'єкта;
release – кнопка миші віджата, коли покажчик перебуває у межах об'єкта, наводиться нею;
releaseOutside – кнопка миші віджата, коли покажчик перебуває поза межамиоб'єкта (зсув, перетягування);
rollOver – покажчик миші входить у межі об'єкта (вказав, але з натиснув);
rollOut покажчик миші виходить за межі об'єкта;
keyPress – була натиснута одна із клавіш: Left, Right, Home, End, Insert, Delete, Up, Down, Tab, Enter (можливе програмування обробки натискання будь-якої клавіші).
Обробник події – це функція on()
Код, що обробляє подію
Для компонента Button із бібліотеки Components – UI Component використовується подія Click. Символу Button цю подію використовувати не можна. Символи Movie Clip можуть реагувати на розглянуті раніше події. Але вони здатні реагувати і на події, що обробляються функцією
код, що обробляє подію
1. load – під час завантаження кліпу на згадку;
2. unload - при розвантаженні кліпа з пам'яті;
3. enterFrame – під час введення кожного кадру кліпа; ці дії виконуються найпершими.
4. mouseDown, mouseUp – натискання та відпускання лівої кнопки миші;
5. mouseMove - при переміщенні покажчика миші;
6. _xmouse _ymouse – для отримання координат вказівника миші
Основи мови сценаріїв ActionScript
Програми ActionScript можна зберігати в окремих файлах з розширенням .as. Для використання програм із зовнішніх файлів у програмах Flash – документа використовується директива
#include “ім'я файлу” (без крапки з комою)
Шлях до файлу може бути абсолютним та відносним.
У мові ActionScript існують такі типи даних:
Рядковий або символьний String – послідовність символів у подвійних чи одиночних лапках;
Числовий Number – число, можливо зі знаком, дробова частина від цілої відокремлюється точкою;
Логічний Boolean може прийматитільки два значення true – істина та false – брехня;
Undefined – цей тип даних має лише одне значення undefined, т. е. не визначено;
Object - об'єкт або програмний об'єкт, який визначається своїми властивостями;
Function – програмний код після виконання якого повертається деяке значення;
MovieClip – це об'єкт, який може виконуватися як Flash-мультфільм.
Ім'я змінної повинно починатися з літери або символу підкреслення, пропуски та розділові знаки не допускаються. Не можна використовувати ключові слова мови як імена змінних.
Приклади імен змінних:
var name="Петро", address, x=3.14;
% - Обчислення залишку від поділу;
++ - Збільшення на одиницю;
- - Зменшення на одиницю.
Значення true вважається одиницею, а значення false – банкрутом.
mydate = New Date;
Значення, яке повертається функцією setInterval(), зберігається в змінній id і передається функції clearInterval(). Поточний час порівнюється з початковим, збереженим у t. Якщо різниця значень більше 30 секунд, викликається функція clearInterval(), тимчасовий процес припиняється.
4. Протестуйте результат.
Приклад 4 Повертання колеса.
Створіть символ типу Movie clip, назвіть його Колесо та намалюйте колесо.
Поради. У режимі редагування символу створіть два шари Колесо та Диск. У шарі Шина намалюйте коло, залийте радіальним градієнтом так, щоб шина була темною в центрі та на зовнішньому краї, а в середній частині світлішою. Застосуйте заливку точно у центрі колеса. Намалюйте диск і залийте градієнтом, зовнішній край кола зробіть темнішим, а центр залиште світло-сірим. За допомогою пензля додайте деталі: отвори по колу та ковпак у центрі. Поєднайте шину та диск. Виділіть зовнішнійконтур шини та у властивостях виберіть стиль лінії – пунктир, товщиною 4, колір – чорний. Додайте колесу асиметричності, щоб ефект обертання був чітко виражений. Для цього створіть ще один шар - Шорсткість, нанесіть олівцем на колесо кілька коротких хвилеподібних ліній, стиль лінії виберіть переривчастий і нерівний.
2. Намалювавши колесо, додайте ще один шар та назвіть його Action. Зробіть цей шар активним та на панелі Action напишіть сценарій обертання (rotation) для кадру: