Екшън скрипт 2
Пример 1: Създаване на маска
Приложете към сцената на един фонов слой екземпляр на графичния символ.
Създайте нов слой над слоя Background и го наречете Mask.
Щракнете с десния бутон върху името на маската и изберете Маска.
Отключете маската на слоя.
Начертайте фигура върху маскиращия слой, така че да покрива част от изображението в маскирания фонов слой.
Пример 2: Използване на множество маски, ефект на лупа
1. Наименувайте единствения слой документ Текст и създайте статичен блок в него. Напишете произволно четиристишие в блока.
2. Създайте маскиращ слой над Mask 2 и начертайте правоъгълник в него, който напълно покрива текста, вътре в правоъгълника нарисувайте кръг, който ще бъде равен на лупата. Изтрийте запълването на кръга.
3. Създайте друг слой по-горе и поставете увеличения текст в него, за да направите това, създайте копие на първия текст и увеличете размера на шрифта на текста.
4. Дори по-високо, създайте слой маска Mask 1. В този слой нарисувайте запълнен кръг със същия размер и местоположение като на слоя Mask 2 (можете да намерите размерите и координатите в панела Properties).
5. Тествайте резултата.
6. Създайте друг слой отгоре и нарисувайте в него рамката на стъклото и дръжката на лещата.
Пример 3. Осветяване с лъч на фенерче на тъмно място в интериора
Импортирайте и двете изображения в библиотеката с документи на Flash (Файл - Импортиране - Импортиране в библиотека).
Създайте три слоя с имена: Тъмно, Светло, Маска. Долният слой е тъмен. На долните два слоя поставете тъмен и светъл чертеж, които съвпадат по размер и местоположение.
На маската на слоя създайте анимация на петна от движение (движение) от фенерче (общо 60 кадъра, анимациясъздайте по извита пътека с промяна на размера на петното).
Създайте същия брой рамки на всеки слой.
Задача 1. Създаване на клипове за маска.
Създайте символ на филмов клип, който изобразява движението на обект от всякакъв вид и по всякакъв начин. Този клип може да бъде и само статично изображение. Това ще бъде маскираният клип.
Начертайте екземпляр на символ на сцената и наименувайте маскирания екземпляр на символа.
Създайте символ на филмов клип, който изобразява движението на обект от всякакъв вид и по всякакъв начин. Има възможност за движение по водача. Това ще бъде маската на клипа.
Създайте маска на слоя на сцената и плъзнете копие на клипа на маската в нея. Назовете маската на екземпляра на символа (в полето Име на екземпляра).
1 Маската на клипа трябва да бъде доста голямо изображение в цялата анимация.
2. Възможно е да създадете два нормални слоя в сцената за екземпляри на клип. В този случай маската на слоя се създава в скрипта, за рамката на долния слой трябва да напишете оператор:
Можете да поставите двата клипа на един и същи нормален слой. След това за рамката трябва да напишете горното изявление. Когато използвате скриптове, резултатът изглежда по-интересен.
Използвайте маски, за да показвате четиристишия буква по буква и ред по ред. Изходният низ трябва да остане на екрана.
Лаборатория #5
UI елементи, бутони
Целта на работата: създаване на бутони, изучаване на различни методи за работа с бутони.
Бутоните са най-често използваният елемент от потребителския интерфейс. Бутоните могат да реагират на събития. Функционалността на бутон може да се даде на текст, статичен графичен елемент или клип. Можете сами да създавате бутони, както и да използвате съществуващи вбиблиотеки с готови бутони. Библиотеката с бутони се извиква с командата:
Wipdow - Други панели - Общи библиотеки - Бутони
Пример 1: Създаване на символ на бутон
1. Изпълнете командата Вмъкване - Нов символ - Бутон.
В новия режим за редактиране на символи ще се появят 4 кадъра, които ще съответстват на:
Нагоре - показалецът на мишката не е над бутона.
Над - показалецът на мишката е над бутона.
Надолу - показалецът на мишката е над бутона и левият бутон на мишката е натиснат.
Hit - рамка за определяне на активната област на бутона, който реагира на щракване с мишката.
2. Персонализирайте външния вид на бутона във всеки от рамките.
3. Плъзнете символа на бутона на сцената.
Пример 2 Следване на връзка при щракване върху бутон:
1. Изберете бутона и отворете панела Действия - Кодиране на бутони в долната част на екрана. Напишете следния код.
getURL("път към файл или ресурс") >
Забележка: Събитието за освобождаване означава, че обработката на събитието ще започне, след като потребителят задържи курсора на мишката върху бутона, натисне бутона на мишката и го пусне.
Пример 3 Превъртане на текст в поле за въвеждане на данни
В този пример, когато въвеждате голям текст, той може да се превърта нагоре и надолу.
1. Намерете бутоните Key-UpuKey-Down в общата библиотека от бутони и ги поставете на сцената в слоя Buttons. Над слоя Buttons създайте слой Text и в него създайте текстов блок Input text. Наименувайте текстовия блок mytext (в полето Име на екземпляр), променете режима на един ред на режим на много редове в панела със свойства.
2. Изберете бутона със стрелканагореи в панела Действия за този избран бутон напишете:
Маркирайте бутона със стрелканадолуи напишете:
3. Тествайтерезултат.
Пример 4: Анализиране на въведеното от екрана
Създайте символ от типа Бутон, задайте външния вид на бутоните в рамките (преход от рамка към рамка F6).
Поставете копие на символа на бутона на сцената и напишете кода за него. Събитието за освобождаване ще анализира въведената от потребителя възраст.
Когато въведете възраст в полето за въвеждане на текст, тази стойност се съхранява в променлива с име age1. Името на променливата age1 трябва да бъде записано в свойството var. Трябва да се посочи в имената на екземпляри age (име на обект за въвеждане на текст) и var age1 (име на променлива).
Напишете кода на бутона:
if (age1==16) trace("Вашата възраст е малка");
else trace("age="+age1); >
Думата trace означава, че се използва прозорецът Output. Изходният прозорец или ще каже, че възрастта ви е млада, или възраст=число. Този пример може да бъде променен, ако динамичен текстов обект се добави към сцената, след което съобщенията могат да се показват в неговото поле, например, дайте на динамичния текстов обект името vivod, задайте името на променливата age2 във var и променете кода за бутона. В този случай възрастта ще бъде анализирана и съобщенията ще се показват не в прозореца за извеждане на съобщения, а в динамичната текстова област.
if (age1==16) age2="Вашата възраст е млада";
Създайте символ на бутон, като използвате статичен текст като основа. При събитието за освобождаване на този бутон, покажете всеки файл на екрана.
Приложете към сцената бутон, създаден по произволен начин. За събитието освобождаване на този бутон напишете програмния код, който обработва въведената от потребителя информация от екрана. Потребителят въвежда радиуса на кръга и вижда обиколката и площта на кръга на екрана.
Лаборатория №6
Програмиране в ActionScript при създаване на Flash документи
Целта на работата: използването на софтуеркодове за създаване на Flash документи.
Когато разработвате Flash документ, можете да правите без скриптове. Но с помощта на скриптове можете да осигурите интерактивност, да контролирате зареждането и възпроизвеждането на Flash документи, да създавате анимационни ефекти без времева скала и да описвате действията, които трябва да се предприемат, когато възникнат събития.
Сценариимогат да бъдат прикрепени къмкадриот времевата линия илизнацикато филмови клипове или бутони.
Скриптовете, свързани с рамка, започват да се изпълняват, когато играчът започне да възпроизвежда тази рамка.
Скриптовете, свързани със символ, обикновено обработват различни събития, които могат да бъдат свързани с този символ.
Панелът за действие се използва за писане на скриптове. Заглавието на този панел показва дали скриптът се отнася до рамка, символ или бутон.
Скриптове и езикът ActionScript
Приложенията трябва да поддържат режим на взаимодействие с потребителя - интерактивност.
Интерактивността изисква три неща: елементи, способни да реагират на събития (събития), действителните събития и манипулатори на събития (манипулатори). Елементите, които могат да реагират на събития, са символи като бутон, филмов клип и компоненти на потребителския интерфейс.
Обработката на събития става чрез функции, наречени манипулатори на събития, които са описани в скриптове. Символите Бутон и Филмов клип отговарят на събитията на мишката и клавиатурата.
натиснете - бутонът на мишката се натиска, когато показалецът е в обекта;
освобождаване - бутонът на мишката се освобождава, когато показалецът е в рамките на обекта, задържан над него;
releaseOutside - бутонът на мишката се освобождава, когато показалецът е извън границитеобект (Shift, Drag);
rollOver - показалецът на мишката влиза в обекта (насочи, но не щракна);
rollOut показалеца на мишката излиза извън обекта;
keyPress - натиснат е един от клавишите: Left, Right, Home, End, Insert, Delete, Up, Down, Tab, Enter (възможно е да програмирате обработката на натискане на произволен клавиш).
Манипулаторът на събитие е функцията on().
Код за обработка на събития
За компонента Button от библиотеката Components - UI Component се използва събитието Click. Символът Бутон не може да използва това събитие. Символи от тип Movie Clip могат да отговорят на събитията, обсъдени по-рано. Но те също така могат да реагират на събития, които се обработват от функцията
код за обработка на събития
1. load – при зареждане на клип в паметта;
2. unload – при разтоварване на клип от паметта;
3. enterFrame - при въвеждане на всеки кадър от клипа; тези стъпки се правят първо.
4. mouseDown, mouseUp – натискане и отпускане на левия бутон на мишката;
5. mouseMove - при движение на показалеца на мишката;
6. _xmouse _ymouse - за получаване на координатите на показалеца на мишката
Основи на скриптовия език ActionScript
Програмите на ActionScript могат да се съхраняват в отделни .as файлове. За да използвате програми от външни файлове във Flash-документни програми, използвайте директивата
#include "име на файл" (без точка и запетая)
Пътят на файла може да бъде абсолютен или относителен.
ActionScript има следните типове данни:
Низ или символен низ - последователност от знаци в двойни или единични кавички;
Цифрово число - число, може и със знак, като дробната част е отделена от цялото число с точка;
Boolean може да поемесамо две стойности true - true и false - false;
Недефиниран - този тип данни има само една недефинирана стойност, тоест не е дефиниран;
Обект - обект или програмен обект, определен от неговите свойства;
Функция - програмен код, след чието изпълнение се връща определена стойност;
MovieClip е обект, който може да действа като Flash карикатура.
Името на променливата трябва да започва с буква или долна черта, интервали и препинателни знаци не са разрешени. Не можете да използвате езикови ключови думи като имена на променливи.
Примери за имена на променливи:
var name="Peter", адрес, x=3.14;
% - изчисляване на остатъка от делението;
++ – увеличение с единица;
- - намаление с единица.
Стойността true се счита за единица, а стойността false е нула.
mydate= нова дата;
Стойността, върната от функцията setInterval(), се съхранява в променливата id и се предава на функцията clearInterval(). Текущият час се сравнява с началния час, записан в t. Ако разликата е по-голяма от 30 секунди, се извиква функцията clearInterval() и процесът на време се прекратява.
4. Тествайте резултата.
Пример 4 Въртене на колелото.
Създайте символ на филмов клип, наречете го Колело и нарисувайте колело.
Препоръки. В режим на редактиране на символи създайте два слоя Колело и Диск. В слоя с гумата нарисувайте кръг, запълнете го с радиален градиент, така че гумата да е тъмна в центъра и по външния ръб и по-светла в средната част. Нанесете пълнежа точно в центъра на колелото. Начертайте диск и го запълнете с градиент, направете външния ръб на кръга по-тъмен и оставете центъра светлосив. Използвайте четка, за да добавите детайли: дупки около обиколката и капачка в центъра. Подравнете гумата и джантата. Маркирайте външноконтур на гумата и в свойствата изберете стил на линия - пунктирана линия, дебелина 4, цвят - черен. Добавете асиметрия към колелото, така че ефектът на въртене да е отчетлив. За да направите това, създайте друг слой - Roughness, нарисувайте няколко къси вълнообразни линии върху колелото с молив, изберете периодичен и неравномерен стил на линията.
2. След като нарисувате колелото, добавете още един слой и го наречете Action. Направете този слой активен и напишете ротационен скрипт за рамката в панела за действие: