операція flesh

Починаючи роботу з будь-яким програмним продуктом, мало хто замислюється про необхідність правильної організації структури роботи, а, між тим, коли перед вами серйозний проект - це одна з умов вдалого і швидкого вирішення поставленого завдання. Тим більше, якщо мова йде про такий програмний продукт як Macromedia Flash. Буквально з перших хвилин ви вже можете створювати приємні ефекти, але якщо вчасно не звернути увагу на загальну структуру, то з часом вам стане складно розібратися в своєму проекті, та й до того ж незручно буде вносити зміни. У даній статті ми розглянемо правила, які необхідно знати, для того, щоб ваша робота з цією програмою була завжди приємною і зручною.

Flash досить проста для розуміння річ, але як і в будь-якій сфері діяльності людина завжди прагнути працювати більш ефективно - для ефективної роботи в Flash дуже важливо розуміти "внутрішню структуру" кліпу (movie clip).

Одиницею внутрішньої організації кліпу є символ (symbol). Ви, напевно, вже в курсі, що Flash має 3 типи символів: графіка, кліп і кнопка. Розглянемо призначення і основні відмінності цих символів.

операція flesh

Графічний символ (Graphic) використовується для представлення простих графічних даних, таких як растрові зображення (gif, jpg, png) і векторні малюнки, зроблені безпосередньо в Flash або імпортування з інших додатків. Варто відзначити, що якщо ви використовуєте растрову картинку, то у вас ще зберігається зв'язок з файлом на диску, з якого імпортується зображення. Якщо використовується векторна графіка - вона конвертується в формат Flash і виходить малюнок такими, яким він був би створений безпосередньо в Flash, тобто якщо ви змінили малюнок за допомогою, скажімо Photoshop, то можна оновити зображення за допомогою пункту Update (рис. 1), тоді як векторний малюнок доведеться імпортувати знову.

Зазвичай графічний символ складається з одного кадру - кадру з малюнком, але Flash надає в цьому відношенні велику гнучкість, і ви можете створити графічний символ з будь-якою кількістю кадрів, при цьому є можливість вказати який саме кадр вважати першим і скільки разів потрібно програвати timeline символу ( рис. 2). Так, так, саме програвати, хоча це може злегка збити з пантелику, але програватися можуть і графічні символи.

Кнопка (button) використовується для створення елементів управління. Цей символ має чотири спеціальні кадру.

На особливу увагу заслуговує кадр Hit. У цьому кадрі можна намалювати фігуру будь-якої форми, незалежно від змісту інших кадрів, і вона буде визначати форму кнопки, тобто ту її область, яка буде реагувати на миша. Ви навіть можете створити невидиму кнопку, заповнивши лише кадр Hit.

Кліп (Movie Clip) використовується для представлення анімації, яка використовується в основному кліпі. У порівнянні з іншими типами символів кліп надає одну дуже суттєву можливість - дозволяє привласнювати йому ім'я (рис. 3). З його допомогою можна програмно звертатися до символу і змінювати його властивості.

операція flesh

Крім того, на відміну від графічного символу, кліп буде відтворюватись завжди і управляти його програванням можна тільки програмно.

Варто зазначити, що кожен з 3-х типів може містити в собі об'єкти як свого, так і 2-х інших типів. Ця можливість дозволяє програмно контролювати властивості об'єктів типу "графічний символ" і "кнопка", шляхом створення проміжного об'єкта типу "кліп" в який потім поміщається інший об'єкт (картинка або кнопка).

Комбінуючи елементи різних типів можна дуже швидко досягти приголомшливих результатів.

Наприклад, якщо потрібно контролювати кнопку - ви ставите її в об'єкт типу "кліп", даєте йому ім'я "mybutton" і потім ізменятете його властивості. Це відповідним чином відбитися і на кнопці, що знаходиться всередині (починаючи з версії 6 Flash дозволяє присвоювати імена об'єктів типу "кнопка").

При цьому кнопка не втратить свою функціональність, але слід пам'ятати, що якщо кнопка до приміщення в "кліп" зверталася до інших об'єктів типу "кліп", то тепер їй прийдеться звертатися "на рівень вище", тобто якщо обробник подій кнопки виглядав так:

операція flesh

то після приміщення в об'єкт типу "кліп" код буде виглядати наступним чином:

операція flesh

Цей фрагмент вимагає пояснень. Справа в тому, що _parent - це властивість (property) елемента типу "кліп". Але його також можна уявити як змінну, певну в межах цього кліпу. В обох випадках звернення до цієї змінної буде виглядати однаково: mybutton._parent (нагадаємо, що "mybutton" це ім'я кліпу, в який поміщена кнопка). Тому, коли кнопка звертається до змінної _parent, вона фактично звертається до властивості mybutton._parent.

Ще один прийом: якщо ви використовуєте в кліпі картинку (неважливо растрову або векторну) більше одного разу - зробіть її символом (графічним або кліпом). Це дозволить не тільки переміщати об'єкт повністю, але і швидко замінити його вміст відразу у всіх місцях, де він зустрічається. До того можна зменшити розмір кліпу в цілому.

Взагалі дуже корисно вибирати тип символу відповідно його застосування. Наприклад, якщо ви збираєтеся використовувати зображення, то не варто поміщати його в "кліп" - Ви можете це зробити "графічним символом", а вже цей символ помістіть в "кліп" - зможете керувати ним програмно. Така структура залишає великий простір для модифікації кліпу в майбутньому, так як якщо ви захочете поміняти анімацію зображення, яка представлена ​​як кліп (Графіка (Зображення)), досить буде змінити об'єкт "кліп" в поданій ієрархії, а якщо потрібно змінити зображення - то це теж не складе труднощів. При невикористання такої структури - вам би довелося змінювати анімацію у всіх місцях, де вона використовується.

Кнопки виключно зручно поміщати в об'єкти типу "кліп". Це дозволяє не тільки контролювати стан, колір і інші властивості кнопки, але і спростити процес створення кнопок, що виконують схожі дії.

Припустимо, при створенні flash-версії веб-сайту і у вас є кілька кнопок, які повинні спрямовувати браузер на відповідні сторінки. Припустимо, є кнопки Home, Contact і Links.

Розглянемо можливі варіанти розвитку подій:

1. Можна створити символ типу "кнопка" з ім'ям pushButton і розмістити його екземпляри на сторінці, написавши для кожного екземпляра кнопки наступний код:

прописуючи, таким чином, для КОЖНІЙ кнопки свою сторінку в getURL ();

2. Ви створюєте об'єкт типу "кнопка" і ставите його в об'єкт типу "кліп" з ім'ям buttonObj. Потім пишете для кнопки наступний код:

Де _name - це ім'я екземпляра об'єкта buttonObj (НЕ c ім'ям символу).

Після цього досить задати імена екземплярів об'єкта buttonObj: home, contact і links (рис. 4). При натисканні на кнопку браузер буде направлятися відповідно на сторінки home.html, contact.html і links.html.

Другий варіант набагато зручніше і в плані розуміння загальної структури кліпу і в плані його редагування, тому що якщо знадобитися, скажімо, перед відкриттям сторінки що-небудь зберегти те для цього достатньо буде змінити код для кнопки в символі buttonObj наступним чином:

Це відбитися на всіх примірниках buttonObj.

Дуже корисною є звичка однаково оформляти всі свої роботи, давати осмислені імена символам (не плутати ім'я символу і ім'я екземпляра символу), а також сортувати символи в бібліотеці (Library) вашого кліпу по папках.

Як я провів літо
Розповіді про те, як люди проводили літо.

Схожі статті