Урок за Flash MX, компютърна документация от A до Z
Бутонът е най-удобното и просто средство за взаимодействие на потребителя с Flash филм. На бутона може да бъде присвоено всяко от действията, включени в раздела Действия. Освен това, чрез присвояване на множество контролни събития на бутон и присвояване на конкретно действие (или сценарий) на всяко от тях, можете да превърнете един бутон в цял контролен панел на филм. Въпреки че в общия случай, разбира се, всяко действие може да бъде свързано с отделен бутон. Както например във филм, посветен на шофирането на автомобил (фиг. 11.2 1).
Фиг. 11.21.Пример за използване на бутони в интерактивен филм
Контрол на възпроизвеждането на филми
Най-простите команди за управление на филма са стартиране и прекъсване на възпроизвеждането му. Тези команди се изпълняват с помощта на предварително дефинираните действия за възпроизвеждане и спиране. Нека разгледаме процедурата за присвояване на тези действия на два бутона, използвайки примера на филм, в който топка се търкаля по масата, пада и се счупва. Нека се върнем към последната версия на филма, която използва фон на маса и обекти, стоящи върху нея (вижте Фигура 9.10). Като бутони използваме екземпляри на символи от общата библиотека с бутони.
И така, за да включите интерактивни бутони във филм, трябва да направите следното:
- Добавяне на нов слой към филма, който да се използва като допълнителен фон; във фоновия слой трябва да се добавят бутоните, така че да присъстват на сцената през целия филм.
- Щракнете в клетката на първия ключов кадър в слоя "бутон".
- Плъзнете последователно от прозореца на библиотеката към таблицата два бутона, които решите да използвате във филма; в резултат прозорецът на Flash ще изглежда нещо подобно на показаното на фиг. 11.22.
Фиг. 11.22.Прозорецфилм след добавяне на бутони
- Изберете първия от бутоните, с които искате да поставите филма на пауза.
- С помощта на инспектора на свойствата на бутона отворете панела с действия и щракнете върху иконата на секцията с действия в списъка на кутията с инструменти за действия.
- Отворете подраздела за управление на филми, намерете действието Stop в него и щракнете двукратно върху него с мишката; в резултат на това текстът на скрипта, съдържащ манипулатора onfrelease, ще се появи в прозореца на скрипта); гарантира, че действието stop() се инициализира, когато настъпи събитието освобождаване (тоест, когато се щракне върху бутона); празните скоби след името на процедурата означават, че тази процедура се използва без параметри; съответното съобщение също се показва в прозореца на параметрите, както е показано на фиг. 11.23.
- Без да затваряте панела с действия, изберете втория бутон на масата и му задайте действието за игра, като повторите описаната по-горе процедура.
За разлика от нормалната анимация, много сценарии не могат да бъдат тествани в режим на редактиране. За да тествате как работят създадените бутони, изберете командата Test Movie или Test Scene от менюто Control. В резултат на това филмът ще бъде експортиран във формат SWF и след това ще бъде възпроизведен с помощта на Flash player. За да се върнете в режим на редактиране, просто затворете прозореца на плейъра.
Фиг. 11.23.Панелът с действия след присвояване на действие за спиране на бутон
Отидете до даден URL адрес
Действието getURL е включено в подраздела Браузър/Мрежа. Това действие ви позволява да заредите документа, намиращ се на посочения URL адрес, в браузъра или да изпратите стойностите на някои променливи (например данни от формуляра) към приложението, разположено на посочения URL адрес. Имайте предвид, че действието getURL препраща данни само за текущия филм.
Да създамбутон, който навигира до даден URL адрес, трябва да направите следното:
- Добавете нов "фонов" слой към филма.
- Поставете бутон върху него, на който ще бъде присвоено действието getURL.
- Отворете панела Действия.
- В списъка с инструменти за действия отворете раздела Действия, след това подраздела Браузър/Мрежа и щракнете двукратно върху реда getURL; в резултат на това в прозореца на скрипта ще се появи подходящата конструкция на езика ActionScript и параметрите на действието getURL ще се появят в панела с параметри (фиг. 11.24).
Фиг. 11.24.Панелът с действия след присвояване на действие getURL на бутон
- Въведете необходимите стойности на параметрите.
- По подразбиране действието getURL се изпълнява при събитие с щракване на бутон (освобождаване); ако искате да добавите или промените събитие, щракнете в прозореца на скрипта върху лентата за избор и използвайте лентата с опции, за да промените списъка със събития.
Нека разгледаме по-подробно параметрите за действие getURL.
Когато посочите относителен URL адрес, за да намерите желания документ, Flash навигира през йерархията на файла/папката/директорията и обратно, започвайки от файла, съдържащ процедурата getURL.
За да получите URL като резултат от изчисляването на някакъв израз, поставете отметка в квадратчето Израз, намиращо се вдясно от полето за URL адрес, и въведете желания израз.
Параметърът Window указва прозореца или рамката, в която трябва да се зареди исканият документ. Стойността на параметъра се избира с помощта на падащия списък, който съдържа следните опции (те са подобни на стойностите на атрибута на маркера TARGET в HTML):
_self - документът ще бъде зареден в текущия прозорец или рамка;
_blank - документът ще се зареди в нов прозорец;
_parent -- документът ще бъде зареден в родителскияили текущия кадър;
_top - документът ще бъде зареден в рамката на по-високо ниво на йерархията или в текущия прозорец.
Ако е необходимо, стойността на този параметър може да бъде получена в резултат на оценката на израза. В този случай поставете отметка в квадратчето за отметка Израз, разположено вдясно от списъка с прозорци.
Параметърът Variables ви позволява да посочите как данните се изпращат към дадения URL адрес. Стойността на параметъра се избира от падащия списък, който съдържа три опции:
- Не изпращай (Той изпраща) - не се изисква прехвърляне на данни;
- Изпращане чрез GET (Изпращане чрез GET) - методът GET ще се използва за изпращане на данни;
- Изпращане чрез POST - Методът POST ще се използва за изпращане на данните.
Изтеглете още филми
С действията loadMovie и unloadMovie можете динамично да зареждате или разтоварвате допълнителни филми, без да се налага да инициализирате отново Flash Player.
Тази технология осигурява ефективно решение на следните проблеми:
- изтегляне на големи филми; филмът може да бъде разделен на няколко "серии", в края на всяка от които се поставя командата за зареждане на следващата; в резултат на това посетителят на сайта получава възможност да гледа следващата "серия", без да чака, докато се зареди целият филм;
- изграждане на "многостепенен" интерфейс: интерфейсът на предишното ниво ви позволява да контролирате филма на следващото ниво;
- изграждане на вид хипертекстов филм, в който потребителят може да се движи от един SWF файл към друг.
За да създадете бутон, който изтегля повече филми, изпълнете следните стъпки:
- Добавете нов "фонов" слой.
- Поставете върхутова е бутон, към който ще бъде присвоено действието loadMovie.
- Отворете панела Действия.
- В списъка с инструменти за действия отворете раздела Действия, след това подраздела Браузър/Мрежа и щракнете двукратно върху реда loadMovie; в резултат на това в прозореца на скрипта ще се появи подходящата конструкция на езика ActionScript и параметрите на действието loadMovie ще се появят в панела с опции (фиг. 11.25).
Фиг. 11.25.Панел с действия след присвояване на действие loadMovie на бутон
- Въведете необходимите стойности на параметрите.
По подразбиране действието loadMovie се изпълнява, когато се щракне върху бутона (събитие за освобождаване); ако искате да добавите или промените събитие, щракнете в прозореца на скрипта в реда за обработка и използвайте лентата с опции, за да промените списъка със събития.
Нека разгледаме по-подробно параметрите на действието loadMovie.
Параметър Местоположение (Location) определя "мястото" на заредения филм или клип в йерархията. За филм позицията му се определя от относителното ниво (Level), за клип - от позицията на предходния клип (Target), който трябва да замени.
Относителното ниво на филма е положително цяло число от 0 до. Горното ниво е ограничено само от вашето въображение и количеството RAM на вашия компютър.
За да изтеглите нов филм в допълнение към вече изтеглените, трябва да посочите номер на ниво за него, който не е зает от друг филм. За да замените изтеглен филм с друг, посочете същия номер на ниво за изтегления филм.
Качването на нов филм до ниво 0 не само замества предишния филм от това ниво, но също така разтоварва филми от всички други нива.
Параметърът Variables има същото значение като действието getURL.
Ще илюстрираме приложението на действието loadMovie с малкопример. Нека първият филм, който ще бъде зареден (разположен на ниво нула), е филм, който съдържа само бутона, присвоен на действието loadMovie (Фигура 11.26). Да предположим, че с негова помощ е необходимо допълнително да се зареди филм "за топка" с два бутона (виж фиг. 11.22). За да разрешите този проблем, е необходимо:
- 1. Експортирайте балонния филм във формат SWF и го запазете (например под името Interact.swf) в същата папка като филма от нулево ниво.
- 2. Задайте следните параметри за действието loadMovie:
Местоположение: Ниво=l Променлива = Не изпращай.
Фиг. 11.26.Филм от ниво нула
Фиг. 11.27.Изглед на прозореца на Flash Player след изтегляне на допълнителен филм
За да изтеглите филм от Flash Player, трябва да присвоите действието unloadMovie на бутон или рамка във филма. За него трябва да бъде зададен един единствен параметър - Location, който определя нивото на филма (Level), който трябва да бъде качен.