Властивості та функціїActionScript
У цьому уроці ви познайомитеся з роллю властивостей та функцій у Flash. Ключ до створення динамічних фільмів - це можливість змінювати значення властивостей та передавати інформацію про стан властивостей різних об'єктів. Крім властивостей у даному уроці докладно розглядаються багато функцій Flash та способи їх використання у взаємодії з відповідними об'єктами та властивостями.
Властивості в системі Flash
Подібним чином влаштовані фільми Flash. Деякі об'єкти у них здатні змінюватися, інші залишаються незмінними. У багатьох випадках можна з'ясувати, які властивості того чи іншого об'єкта, але їх змінити.
Завдання властивостей панелі Info
Таблиця 7.1.Змінні властивості кліпів
Розташування фільму щодо центральної позиції об'єкта та батьківського об'єкта по горизонтальній осі (осі X). Позиція вимірюється у пікселах. За умовчанням задається позиція верхнього лівого кута кліпу щодо верхнього лівого кута (або центру) об'єкта. Коли батьківський об'єкт екземпляра змінюється, його центр може зміститися. Така ситуація часто виникає, коли батьківський об'єкт повертається навколо центру.
Розташування фільму щодо центральної позиції об'єкта та батьківського об'єкта по вертикальній осі (осі Y). Застосовуються самі правила вимірювання, як і властивості _х
Відносна ширина горизонтальної осі (осі X), виражена у відсотках; за замовчуванням використовується значення 100 %. Об'єкт може бути масштабований як у бік збільшення, так і у бік зменшення
Відносна висота вертикальної осі (осі Y), виражена у відсотках; за замовчуванням використовується значення 100 %. Об'єкт може бути масштабований як у бік збільшення, так ібік зменшення
Ступінь прозорості об'єкта. Шкала прозорості знаходиться в діапазоні від 0 (для повністю прозорих об'єктів) до 100 (для непрозорих об'єктів), тобто прозорість також виражається у відсотках. Навіть нульове значення цієї властивості не перешкоджає визначенню способу реакції об'єкта на дії користувача
У наведеному нижче прикладі ми створимо фільм з кліпом, що ілюструє механізм встановлення значень властивостей. Цей фільм є надзвичайно простим, і його призначення полягає лише в тому, щоб показати, що відбувається при зміні тієї чи іншої властивості. Даний фільм містить кліп з кнопкою, що є прямокутником розміром 50 на 200 пікселів із зеленою радіальною заливкою; кліп знаходиться в робочій зоні розміром 400 на 400 пікселів. Особливість даного фільму полягає в тому, що тут ми будемо використовувати різні сценарії для однієї кнопки, не створюючи додаткових кнопок для відображення ефекту зміни різних властивостей. Це дозволить вам попрактикуватися у роботі зі сценаріями. Щоб розпочати роботу над фільмом, виконайте наступну послідовність кроків.
- Створіть новий фільм та виконайте команду меню Insert >New Symbol (Вставка > Новий символ). У діалоговому вікні Symbol Properties (Властивості символу) встановіть перемикач Movie Clip (Кліп) та введіть назву Property Test (Перевірка властивостей). Натисніть кнопку ОК, щоб перейти в режим редагування символів.
- Відкрийте панель Info (Інформація). Розташуйте її на екрані таким чином, щоб з нею було легко працювати, оскільки саме тут ви змінюватимете значення багатьох властивостей.
- За допомогою інструмента Rectangle (Прямокутник), встановивши режим радіальної заливки та вибравши зелений колір, намалюйте прямокутник розміром приблизно 50 на 200 пікселів. Після перетворення цього прямокутника на символ можна ввести його точні розміри у відповідних полях панелі Info (Інформація).
- Перейдіть до малюнку та натисніть клавішу F8, щоб відкрити діалогове вікно Symbol Properties (Властивості символу). Установіть перемикач Button (Кнопка) та введіть назву Stick (Ручка). Натисніть кнопку ОК.
- Не виходячи з режиму редагування символів, перейдіть до зеленого прямокутника. Введіть точні значення ширини та висоти (50 та 200 пікселів відповідно). Введіть координати (0, 0) у полях X та Y, а потім клацніть на центральній точці в елементі позиціонування, який також знаходиться в панелі Info (Інформація).
Позиція та розмір прямокутника задаються щодо кліпу, в якому він розташований, а не щодо робочої зони головної кінострічки.
- Натисніть кнопку Scene 1 (Сцена 1), щоб повернутися до головної кінострічки. Перетягніть у робочу зону екземпляр кліпа Property Test (Перевірка властивостей). У панелі Info (Інформація) введіть значення координат X та Y, що дорівнює 200 та 100 відповідно. Тепер кліп, створений на головній кінострічці, розташовуватиметься в200 пікселів від лівого та 100 пікселів від верхнього краю робочої зони. Його центральною точкою буде вважатися верхній лівий кут.
- Натисніть комбінацію клавіш Ctrl+I (Windows) або Cmd+I (Macintosh), щоб відкрити панель Instance (Примірник). Виділивши кліп, введіть ім'я екземпляра greenbar (зелена смужка).
Це був дуже важливий крок - об'єкт отримав ім'я.
Завдання властивостей панелі Object Actions
Перш ніж почати ввод сценарію, що забезпечує перевірку механізму властивостей, давайте подивимося на спосіб роботи з операцією Set Property (Встановити значення властивості) в панелі операцій. На рис. 7.2 Ви можете бачити текст першого сценарію, який Ви повинні ввести. У звичайному режимі редагування з іменами операцій користувач працює так само, як із змінними. Головна відмінність тут полягає в тому, що замість змінної використовується об'єкт, який має певні властивості.

Мал. 7.1. Позиція об'єкта всередині кліпу може збігатися або не збігатися з позицією об'єкта на головній кінострічці

Мал. 7.2. Для встановлення значення властивості необхідні три елементи: ім'я властивості, ім'я екземпляра кліпу та значення
Сценарії зміни властивостей
Встановлення горизонтальної та вертикальної координат
Варіант, сумісний з Flash 4
setProperty ("/greenbar", _x. 20);
setProperty ("/greenbar", y. 20); >
Варіант Flash 5
_root.greenbar._x = 20; _root.greenbar._y = 20; >
Результати. При натисканні на кнопку Stick (Ручка) смужка переміщається
Встановлення горизонтальних та вертикальних розмірів
При зміні масштабу будь-якого об'єкта в робочій зоні по осях X та Yможна змінити його розмірів. У наведеному нижче тексті сценарію нові значення розмірів відрізняються від властивих оригінальному прямокутнику розміром 50 на 200 пікселів найрішучішим чином.
Результати. При натисканні на кнопку Stick (Ручка) на екрані з'являється вузька довга смужка.
Встановлення рівня прозорості
У цьому прикладі для встановлення та зміни значення однієї з властивостей використовуються дві події миші. Властивість _alpha визначає рівень прозорості об'єкта, приймаючи значення від 0 до 100 відсотків. У наведеному нижче сценарії, натиснувши кнопку миші, рівень прозорості встановлюється рівним 0, а при її відпусканні цей рівень стає рівним 100 %. Спробуйте замінити першу константу на число 25, а другу на число 50 і подивіться, що вийде.
Результати. Якщо натиснути кнопку миші на об'єкті Stick (Ручка), об'єкт зникає. При відпустці кнопки миші він знову з'являється на екрані.
У фільмах Flash видимість є логічним параметром, здатним набувати значення True і False. Ця властивість принципово відрізняється від якості, що встановлює рівень прозорості об'єкта. Після встановлення властивості _visible рівним False (при натисканні кнопки миші) кнопка зникає з екрана. Після встановлення властивості _vis1ble рівним True (при відпусканні кнопки миші) прихована кнопка знову стає видимою.
Результати. Якщо натиснути кнопку миші на об'єкті Stick (Ручка), об'єкт зникає. При відпустці кнопки миші він знову з'являється на екрані, як і в попередньому прикладі.
Кут повороту визначається властивістю _rotation, значення якого можуть перебувати в інтервалі від 0 до 360 (величина кута задається в градусах). Взагалі кажучи, можна використовувати також числа більше 360 і менше 0 - вонирозглядаються відповідно до звичайних правил геометрії. Наприклад, якщо ви поставите значення кута повороту, що дорівнює 365, то отримаєте той же результат, що і при використанні константи 5; константа -10 відповідає 350 градусів. У наступному сценарії застосовуються як позитивне, і негативне числа.
Врахуйте, що тут має значення положення покажчика миші. Якщо при натисканні кнопки миші покажчик виявляється поза межами об'єкта, нічого не відбувається. Те саме справедливо і для ситуації з відпусканням кнопки. Це природно, тому що на подію миші завжди має реагувати певний об'єкт.
Результати. При натисканні кнопки миші на об'єкті Stick (Ручка) об'єкт перекидається набік. При відпусканні кнопки миші смужка повертається вліво на величину кута, що дорівнює 350 градусів.
Ви маєте можливість змінювати ім'я екземпляра кліпу "на льоту". Більше того, ви можете, змінивши це ім'я, в тому ж сценарії звернутися до об'єкта за новим ім'ям. У наступному сценарії при натисканні кнопки миші ім'я екземпляра greenbar замінюється ідентифікатором si debar, а при відпусканні нове ім'я використовується, щоб повернути об'єкт на 80 градусів.
_root.greenbar._name = "si debar";
Результати. При відпустці кнопки миші смужка повертається на 80 градусів.
Додайте до фільму круглу кнопку на головній кінострічці та визначте наступний сценарій. (Нічого не змінюйте у наведеному вище тексті сценарію та не чіпайте раніше створені кнопку та кліп.)
Запустіть фільм на тестування та клацніть на новоствореній круглій кнопці. Ця кнопка забезпечує поворот зеленого прямокутника на 120 градусів. Потім натисніть на кнопці у формі смужки, і вона повернеться на 80 градусів. Зрештою,ще раз клацніть на круглій кнопці. Нічого не відбувається. При першому натисканні на круглій кнопці у екземпляра кліпу було ім'я greenbar; після клацання на кнопці у формі смужки ім'я екземпляра змінилося, і тепер екземпляр кліпу носить ім'я si debar. Тому при повторному натисканні на круглій кнопці сценарій спробував знайти екземпляр об'єкта з ім'ям greenbar, але такого вже не виявилося у фільмі, оскільки відповідне ім'я екземпляра було замінено ім'ям si debar.
Приклад фільму. Завдання світових якостей
У попередньому розділі ви познайомилися із методикою встановлення властивостей у сценаріях фільму. Тепер ми розглянемо роботу з особливими властивостями, які визначають модель поведінки фільму в цілому і всіх кліпів, що входять до нього. Оскільки глобальні властивості дозволяють змінювати характеристики всіх об'єктів фільму, немає необхідності вказувати певний об'єкт, властивості якого будуть змінюватися. За умовчанням таким об'єктом є сам фільм. У фільмі, що знаходиться у файлі Globalquality.fla на компакт-диску, є три шари:
На прикладі цього фільму ви побачите, яким чином можна встановити значення всіх шести параметрів, пов'язаних із двома властивостями фільму, доступними для зміни сценаріїв Action Script. Щоб уникнути проблем, що виникають на межах об'єктів, можна використовувати властивості _highquality і _qual ity. Властивість Jiighqual ity набуває логічних значень (true і false). Нова властивість _qua1ity, що з'явилася в пакеті Flash 5, набуває рядкових значень LOW, MEDIUM, HIGH і BEST, що дозволяють задати певний рівень якості екранних зображень. Таблиця 7.2 містить перелік всіх значень якості _qual ity.
Таблиця 7.2.Значення якості _quality