Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичні_рекомендаці_ лаб_робіт_комп_анімац..doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
2.69 Mб
Скачать

Контрольні запитання

  1. У чому полягає проектування мультимедійних проектів?

  2. Які основні компоненти складають мультимедійну презентацію

  3. Яким чином можна оптимізувати мультимедійний проект для використання у|біля,в| різних середовищах?

Змістовний модуль іі. Використання Macromedia Flash-технології та 3ds max для створення сучасних мультимедійних документів. Лабораторна робота №9

«Динамічні текстові поля. Активна|втікаюча| кнопка»

Цілі виконання завдання|задавання|:

- засвоїти практичні основи створення динамічних текстових полів у|біля,в| інтерактивних веб-додатках;

- засвоїти практичні основи створення кнопок, що реагують на певні події.

Допоміжний матеріал

Створення|створіння| динамічних текстових полів.

Динамічні поля призначені для відображення тексту, що змінюється під час програвання ролика|ролик|. При створенні|створіння| динамічного тексту можна розмістити текст в одному рядку або створити текстовий блок з|із| фіксованою шириною і висотою. Flash дозволяє використовувати в динамічних текстових полях елементи оформлення HTML.

Для створення|створіння| динамічного текстового поля необхідно виконати наступні|слідуючий| дії:

  1. У новому документі створити текстове поле типу|тип| Dynamic Text (рис. 9.1).

Рис. 9.1. Створення|створіння| динамічного текстового поля.

  1. Задати властивості для текстового поля (рис. 9.2):

- Line type: Multiline

- Render text as HTML

- Var: text (ім'я змінної довільне)

Рис. 9.2. Властивості динамічного текстового поля.

  1. Виділити перший кадр (ключовий|джерельний|) і написати в редакторі Actions наступний|слідуючий| код:

loadVariablesNum(«file.txt»,0);

  1. Зберегти проект.

  2. У тому ж каталозі, в якому знаходиться|перебувати| і проект, створити текстовий файл “file.txt”. Вибрати для файлу кодування Юникод.

  3. У текстовому файлі привласнити змінній text який-небудь текст

text=любой текст

  1. Зберегти текстовий файл.

  2. Запустити фільм (Ctrl+Enter).

Активна|втікаюча| кнопка (кнопка, що вбігає).

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

press - клавіша мишки натиснута|натискувана|, коли курсор знаходиться|перебувати| в межах кнопки;

release - клавіша мишки віджата, коли курсор знаходиться|перебувати| в межах кнопки;

releaseOutside - клавіша мишки віджата, коли курсор знаходиться|перебувати| поза|зовні| межами кнопки;

rollOver - курсор миші входить в межі кнопки;

rollOut - курсор виходить за межі кнопки;

dragOver - курсор входить в межі кнопки, при цьому була натиснута|натискувана| кнопка, і натиснута|натискувана| клавіша миші;

dragOut - курсор виходить за межі кнопки, при цьому була натиснута|натискувана| кнопка, і натиснута|натискувана| клавіша миші;

keyPress ("клавіша") - була натиснута|натискувана| "клавіша". Список клавіш можна подивитися|поглянути,глянути| в довідці по Flash (об'єкт Key), або використовувати панель параметрів для введення потрібної клавіші.

Перехоплюються ці події за допомогою директиви on(). Синтаксис її такий:

on (подія)

{

... // Дії користувача

}

Для того, щоб забезпечити реакцію кнопки на подію наведення, необхідно виконати наступні|слідуючий| дії:

1. Вибирати з|із| бібліотеки Common Libraries будь-яку кнопку (Window-> Common Libraries->Buttons)

2. У редакторові Actions для кнопки написати код:

on (rollOver)

{

this._x=random(200);

this._y=random(200);

}

ЗАВДАННЯ|задавання|

  1. Створити та налаштувати динамічне текстове поле. Присвоїти йому змінну для зв‘язання з текстовим файлом.

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

  3. Додати до індивідуального мультимедійного проекту динамічне текстове поле.

Контрольні запитання

  1. Які типи тексту існують у Flash?

  2. Яке призначення динамічних текстових полів у Flash?

  3. Яким чином можна зв‘язати текстовий файл з динамічним текстовим полем?

Лабораторна робота №10

«Програмування на ActionScript».

Цілі виконання завдання|задавання|:

  • отримати вміння та навички щодо створення та анімації символів за допомоги мови програмування ActionScript;

  • опанувати програмне змінення властивостей символів-контейнерів.

Допоміжний матеріал.

Нижче розглянемо приклад створення кліпу, основою динаміки якого буде використання мови програмування ActionScript, а саме скрипти що дозволяють дублювати, видаляти символи, та змінювати їх властивості.

Для дублювання символі-контейнері використовуються такі скриптові компоненти.

duplicateMovieClip(target, newname, depth)

Параметри:

  • target – шлях|колія,дорога| до дубльованого символу.

  • newname – унікальний ідентифікатор для нового екземпляра|примірник| символу.

  • depth – унікальне значення глибини для дубльованого символу. Глибина – порядок|лад| розташування дубльованих мувіклипів. Він схожий на порядок|лад| шарів кінострічки – розташовані нижче символи перекриваються такими, що знаходяться|перебувати| вище і що мають більше значення глибини. Необхідно привласнювати кожному новому символу унікальну глибину, якщо привласнити ту, що вже є|наявний|, то новий символ замінить старий.

Опис: Команда, створює екземпляр|примірник| мувікліпа під час відтворення основного|основний| кліпу. Дублювання завжди починається з кадру номер 1, незалежно від того, на якому кадрі знаходився|перебувати| оригінальний (батьківський) символ. Змінні, що містяться|утримуватися| в батьківському символі, в дубльований не копіюються. Якщо видаляється батьківський символ, то дубльований - теж|також| видаляється. Можна використовувати команду або метод removeMovieClip щоб видалити|знищити,віддалити| екземпляр|примірник| мувікліпу, створеного командою duplicateMovieClip.

Для створення|створіння| анімації символів-контейнерів шляхом дублювання необхідно виконати наступну|слідуючий| послідовність дій:

  1. Створити символ MovieClip у вигляді геометричної фігури довільного кольору і розміру, привласнити йому Instance name "box".

  2. Зайти в Movie Clip і зробити розкадровування руху для об'єкту (в результаті, об'єкт повинен переміщатися із однієї точки екрану в іншу за прямою).

  3. Вийти на основну сцену.

  4. Створити окремий шар для кодів. Для першого|перший| кадру цього шару в редакторі Actions ввести|запровадити| код:

count = 1;

while (count<20)

{

_root.box.duplicateMovieClip("box"+count, count);

_root["box"+count]._x = random(550);

_root["box"+count]._y = random(150);

_root["box"+count]._xscale = random(150);

_root["box"+count]._yscale = random(150);

_root["box"+count]._alpha = random(100);

count += 1;

}

  1. Продовжити лінію життя всього фільму на 15 кадрів.

  2. На 15-му кадрі шару у редакторі коду Actions ввести|запровадити| код:

gotoAndPlay(1);

Видалення|віддалення| символів-контейнерів відбувається|походити| за допомогою команди:

removeMovieClip(target)

Параметри:

  • target – шлях|колія,дорога| (target path) до екземпляра|примірник| мувікліпу, створеного за допомогою duplicateMovieClip або імені мувікліпу, створеного методами attachMovie або duplicateMovie, об'єкту MovieClip.

Надання нових властивостей символу-контейнеру здійснюється за допомогою наступної|слідуючий| команди:

setProperty("target", property, value/expression)

Параметри:

  • target – шлях|колія,дорога| до кліпу, властивості якого потрібно встановити.

  • property – властивість, яку потрібно встановити.

  • value – нове значення властивості.

  • expression – вираз|вираження|, обчислення|підрахунок| якого приводить|призводити,наводити| до нового значення властивості.

Для того, щоб встановити нові властивості для символу-контейнера і видалити|знищити,віддалити| символ контейнер після|потім| закінчення його роботи, необхідно виконати наступні|слідуючий| дії:

1. Створити символ Movie Clip у вигляді пунктирної лінії довільного кольору, привласнити йому Instance name "line1". Лінія повинна бути намальована вертикально; нижній край повинен знаходитися точно в центрі робочого столу (рис. 10.1)

Рис. 10.1. Початкове положення|становище| символу

2. Зайти в Movie Clip і зробити розкадровування руху для об'єкту (в результаті, кінцеве положення|становище| об'єкту повинне бути як на рис. 10.2).

Рис. 10.2. Розкадровування руху усередині|всередині| Movie Clip.

3. Після|потім| розкадровування створити ключовий|джерельний| кадр і для нього в редакторі Actions ввести|запровадити| код:

removeMovieClip(_target);

4. Вийти на основну|основний| сцену.

5. Створити окремий шар для кодів. Для першого|перший| кадру цього шару в редакторі Actions ввести|запровадити| код:

i = 2;

setProperty("/line1", _visible, False);

6. Для другого кадру шару коду в редактоі Actions ввести|запровадити| код:

duplicateMovieClip("/line1", "line"+i, i);

setProperty("line"+i, _rotation, i*10);

i = Number(i)+1;

7. Для третього кадру шару коду в редактоі Actions ввести|запровадити| код:

gotoAndPlay(2);

Для того, щоб відстежити зміни, що відбуваються|походити| з|із| символом-контейнером, необхідно скористатися наступними|слідуючий| командами.

1. onClipEvent(movieEvent){

statement(s);

}

Параметри:

  • movieEvent – є|з'являтися,являтися| трігером|тригер| (перемикачем|перемикач|), що зветься "подія" (event). Коли подія відбувається|походити|, виконується код, що міститься усередині|всередині| фігурних дужок. Будь-яке з наступних|слідуючий| значень може бути визначене для аргументу movieEvent:

- load – ініціалізація команд у момент появи мувікліпу на лінійці (Timeline).

- unload – ініціалізація команд в першому|перший| кадрі у момент видалення|віддалення| мувікліпа з лінійки. Команди, пов'язані з подією Unload, обробляються раніше|до| будь-яких команд прописаних в кадрі.

- enterFrame – ініціалізація команд в кожному кадрі, що відтворюється, так, як якби вони були прописані в кожному кадрі мувікліпа. Команди, пов'язані з подією OnEnterFrame, обробляються після|потім| будь-яких команд прописаних в кадрах.

- mouseMove – ініціалізація команд при кожному переміщенні|переміщення| миші. Для визначення поточної позиції миші використовуються властивості

_xmouse і _ymouse.

- mouseDown – ініціалізація команд при натисненні лівої кнопки миші.

- mouseUp – ініціалізація команд при відпуску лівої кнопки миші.

- keyDown – ініціалізація команд при натисненні клавіші клавіатури. Метод Key.getCode використовується для отримання|здобуття| інформації про натиснуту|натискувану| клавішу.

- keyUp – ініціалізація команд при відпуску клавіші клавіатури.

- data – ініціалізація команд при отриманні|здобуття| даних в командах loadVariables або loadMovie. Коли це пов'язано з командою loadVariables, подія data відбувається|походити| тільки|лише| один раз у момент закінчення завантаження|загрузка| останньою змінною. При використанні команди loadMovie, подія data може бути багатократною|багаторазовий,багатократний|, у міру підходу нових даних.

  • statement(s) – команди, що виконуються у момент настання|наступ| події mouseEvent.

2. startDrag(target[lock,left, top, right, bottom])

Параметри

  • target – шлях|колія,дорога| до кліпу, який треба перетягувати.

  • lock – булеве значення, вказує|показуючий| до чого буде приєднаний кліп при перетяганні, до центру кліпу щодо|відносно| позиції миші (true), або до крапки|точка,точка-тире|, де користувач натиснув|натискувати| кнопку на кліпі (false). Цей параметр необов'язковий.

  • left, top, right, bottomзначення щодо|відносно| координат батька символ-ролика, які визначають прямокутник обмеження для символ-ролика. Ці параметри необов'язкові.

Опис: Команда; примушує|заставляти| мувікліп target переміщатися за покажчиком миші під час відтворення фільму. Тільки|лише| один кліп може переміщуватися за одиницю часу. Відразу після|потім| виконання операції startDrag, мувікліп починає|розпочинати,зачинати| перетягуватися до тих пір, поки його не зупинять командою stopDrag, або поки команда startDrag буде застосована до іншого кліпу.

3. stopDrag()

Опис: Команда; зупиняє поточну операцію перетягання.

Для того, щоб відстежити координати переміщення символу-контейнера, необхідно виконати наступні|слідуючий| дії:

  1. Створити два текстові поля типу|тип| Dynamic Text, одному привласнити var=_root.pos1, іншому – var=_root.pos2. Перетворити кожне текстове поле в Movie Clip, одному привласнити Instance name "line1", іншому - "line2".

  2. Створити на тому ж шарі Movie Clip, привласнити йому Instance name "mouse"

  3. Для мувікліпа в редакторі Actions ввести|запровадити| код:

onClipEvent (mouseDown) {

startDrag(this);

}

onClipEvent (mouseUp) {

stopDrag();

}

onClipEvent (enterFrame) {

Xmouse = getProperty("_root.mouse", _x);

Ymouse = getProperty("_root.mouse", _y);

setProperty("_root.line1", _y, Ymouse);

setProperty("_root.line2", _x, Xmouse);

}

onClipEvent (mouseMove) {

_root.pos2 = "у|біля,в| =" add Math.round(Ymouse);

_root.pos1 = "x =" add Math.round(Xmouse);

}