Специални текстови блокове. Macromedia Flash MX - първи стъпки


Лекционни материали, домашни и тестове
дистанционен курс “Електронно училище Macromedia Flash MX”
Руски седмичен методически вестник за учители по информатика. Издателство "Първи септември" № 42 (2003)
„Аналог на програмата „Rule“ от пакета „Hits of Robotland“.
в средата на Macromedia Flash."

Печатни издания

ЕЛЕКТРОННО УЧИЛИЩЕ MACROMEDIA FLASH MX
III курс: Основи на програмирането в Macromedia Flash MX
Модул IV: Командата с. Програма "Правило"
Език ActionScript

Експресен модулен план:
  • с команда
  • Флаш дубликат на програмата “Rule” от пакета “Hits of Robotland”.

с команда

Когато използвате обекти в програмен код (скрипт), лесно се забелязва, че дори в малък скриптов блок името на един и същ обект се повтаря многократно. Такива повторения се случват особено често при използване на някои отделни предмети, например предмети математика, принадлежащи към горното ниво. Например, следният код е доста често срещан:

A = Math.PI * r * r; x = r * Math.cos(Math.PI); y = r * Math.sin(Math.PI/2);

Ето го обекта математикасе появява многократно, което прави сценария труден за разбиране. Този запис може да бъде значително опростен, ако блокът на скрипта е ограден в скоби с помощта на командата with. След това, в рамките на този скриптов блок, интерпретаторът на ActionScript ще получи достъп до посочения обект. Сега кодът може да бъде пренаписан, както следва:

С (математика) ( a = PI * r * r; x = r * cos(PI); y = r * sin(PI/2); )

Нека да разгледаме общия команден формат:

с (обект) (
изявления);
}

обект— екземпляр на ActionScript обект или филмов клип.

изявления)- команда или група от команди, оградени във фигурни скоби.

Нека да разгледаме друг пример, в който се използва обектът MovieClipнаречен someOtherMovieClip:

С (someOtherMovieClip) ( _x = 50; _y = 100; gotoAndStop(3); )

Следният откъс от скрипта показва как предишният пример може да бъде написан без използване на командата with:

SomeOtherMovieClip._x = 50; someOtherMovieClip._y = 100; someOtherMovieClip.gotoAndStop(3);

Възможно е да се използват вложени с команди за достъп до информация в много контекстуални области.

Флаш дубликат на програмата “Правилка” от пакета “Хитове на Robotland”.

При програмирането на бутоните ще използваме активно оператора за разклоняване: if и if else. Ние също така ще организираме работата на брояч, който добавя точки към потребителя в случай на верен отговор и изважда точки в случай, че без да коригира грешка или направи неправилни корекции, потребителят натисне бутона „Напред“.

Ще организираме работата по филмов клип (награда), в който ще бъде поставен „Наградният фонд“. Ако потребителят събере 10 точки, неговата награда ще бъде кошница с вкусни плодове. Ако потребителят има 9 или 8 точки като награда, той ще получи парче сирене, ако потребителят има „късметлия“ да спечели 6 или 7 точки, той ще получи тиква, но ако събере 5 или по-малко от 5 точки , той ще получи домат!

За тези, които харесват оценка от пет точки, нека преведем горното на език, достъпен за училищното списание:

Кошница за плодове - 5 ;
Парче сирене - 4 ;
тиква - 3 ;
домат - 2 .

При достъп до Movie Clip ще използваме командата with.

Нашата сцена ще използва 11 кадъра. Първите 10 кадъра ще бъдат „работни листове“, върху които ще бъдат поставени фрази с граматически грешки (Въведен текст). Обикновено полетата за въвеждане се оставят празни, но в нашия случай би трябвало да работят! Всеки лист ще бъде програмиран с динамично поле. Ако потребителят не коригира граматическата грешка, ще се покаже текстът: „Не сте коригирали грешката!“

Тази програма използва два слоя. Долният слой е фонът, той съдържа статичния текст „Program Correct“ и графичен символ с шапка.

Ако абсолютно искате да използвате някакъв екзотичен шрифт, инсталиран на вашата машина в програмата, за да напишете заглавието, не забравяйте да използвате процедурата Break Apart от менюто Modify за този текст. С други думи, превърнете текста в графика. И тогава вашият текст няма да се превърне в лудост на машина, която няма този шрифт!

Сега всичко е наред. Нека напишем скрипт за кадър 1:

Спри се(); fscommand("покажи меню", "false"); i = 0;

Когато възпроизвеждате видеоклип, трябва да деактивирате „Менюто“. По този начин няма да позволим на потребителя да направи „крачка назад“. И ние също „включваме“ брояча.
Нека напишем действието за кадри 2-10:

Нека да разгледаме как работят бутоните, използвайки първия кадър като пример. Можете сами да програмирате останалите бутони.

Включено (освобождаване) ( if (t1=="Бяла хризантема") ( i++; gotoAndPlay(2); ) else ( i--; z1 = "Вие не поправихте грешката!"; ) )

Сега ще формираме „Наградния фонд“. Да творим нов символвъведете филмов клип с име наградав който ще работят 5 кадъра. Ще напишем промоция за всички кадри от клипа:

Първият кадър на клипа ще бъде празен.

Във втория кадър ще поставим кошница с плодове и ще дадем етикет на рамката: пет.
В третия кадър ще поставим парче сирене и ще присвоим етикет на кадъра: четири.
Нека поставим тиква в четвъртия кадър и да зададем етикет на кадъра: три.
Нека поставим домат в петия кадър и да зададем етикет на кадъра: две.

В тази програма цялото това „разнообразие от храни“ е импортирано от колекцията ClipArt97 (wmf файлове). Можете обаче да създадете свой собствен „Награден фонд“, всичко зависи единствено от вашето въображение.

Да се ​​върнем на сцената и на последния 11-ти кадър ще поставим създадения от нас клип с награди. Не забравяйте да го кажете на сцената. Име на екземпляра: награда. Ще напишем скрипт към този кадър, който, анализирайки съдържанието на брояча, ще „даде“ на потребителя награда:

Спри се(); sh = i; с (_root.priz) ( ако (i

Тествайте видеото. И ако е необходимо, отстранете грешки.

За да опростите процеса на тестване, създайте динамично текстово поле в последния кадър с името ши покажете данните от брояча в това поле. За да направите това, добавете втория ред към скрипта на 11-ия кадър:

След като завършите процеса на отстраняване на грешки, изтрийте това поле и реда, който сте въвели.

Домашна работа: Основи на програмирането в Macromedia Flash MX

О, колко прекрасни открития имаме
Подгответе духа на просветлението
И опитът, син на трудни грешки,
И гений, приятел на парадоксите,
И случайността, Бог изобретателят.
Александър Сергеевич Пушкин, "Евгений Онегин"

Вашата задача е да създадете видео, дублиращ материала, представен в тази лекция. Можете сами да изберете фразите.

Можете да намерите илюстративния материал, използван за формиране на „наградния фонд” на видеото в архива, придружаващ лекционния материал. Този архив съдържа файлове във формат wmf. Ако този награден фонд не отговаря на вашите изисквания, не се колебайте да бъдете креативни и да използвате собствената си библиотека.

Изпратете готовата си задача като файл във формат fla (ако размерът на файла надвишава 150 KB, моля, архивирайте файла) и го изпратете на вашия учител.

Желая ви успех в самостоятелното изучаване на Macromedia Flash MX!

Секции на тази страница:

Сега да поговорим за т.нар специални текстови блокове,тоест за текстови блокове, които изпълняват специални функции. В момента обаче те няма да са ни полезни, но ще са необходими, когато започнем да пишем програми във Flash среда (програмирането е посветено на част IVтази книга).

Полета за въвеждане

Поле за въвеждане -Това е вид малък текстов редактор, поставен в прозорец на програма на Windows и предназначен за въвеждане на едноредов или многоредов текст. В същото време самият Windows управлява въвеждането на текст: просто въвеждаме знаци, използваме клавишите със стрелки, , , изберете текста, използвайте клипборда, както във всеки „голям“ текстов редактор. Програмистите на Microsoft са работили усилено, за да направят стандартните полета за въвеждане на Windows наистина удобни.

За да създадете поле за въвеждане във Flash, първо трябва да поставите обикновен текстов блок на вашия работен лист и да го изберете с инструмента със стрелка (не е необходимо да въвеждате текст в текстовия блок). След това намерете в горния ляв ъгъл на панела Имотималък падащ списък (вижте фиг. 7.4) и изберете елемента в него InputText.Ако след това отворим получения текстов блок, ще видим това, което е показано на фиг. 7.9.


И така, какво виждаме? И виждаме пълен набор от маркери за преоразмеряване (те ще бъдат запазени дори ако затворим полето за въвеждане). Това означава, че можем също да променим вертикалния размер на полученото поле за въвеждане. И правоъгълният маркер от горния десен ъгъл ще се премести в долния десен - това е знак, че имаме поле за въвеждане пред нас.

Изглед на панел Имотислед избиране на полето за въвеждане е показано на фиг. 7.10. Както виждаме, те се появиха там допълнителни елементиконтроли, които трябва да бъдат взети предвид.


Първо, точно под списъка, който току-що използвахме, се появи поле, в което ще трябва да посочим уникален Име,идентифициране на полето за въвеждане на Flash, което създадохме. Всяко поле за въвеждане, създадено в работен лист, трябва да има уникално име. Това име може да съдържа букви от руската и латинската азбука, цифри и долна черта и трябва да започва или с буква, или с долна черта.

Под полето за въвеждане на задача за проследяване има друг падащ списък. Използвайте го, за да изберете типа поле за въвеждане. В този списък има четири елемента:

? Една линия- редовен едноредово поле за въвеждане;

? Многоредов- многоредово поле за въвеждане(с други думи, областта за редактиране);

? Многоредов без обвиване- многоредово поле за въвеждане, което няма автоматично да прекъсва ред (въпреки че потребителят все още може да прекъсва ред ръчно, като натисне клавиша );

? Парола- поле за въвеждане на парола.Подобно на обикновено поле за въвеждане на един ред, но скрива въведения в него текст, като вместо това показва низ от звездички.

Вдясно от този списък има набор от три бутона за превключване. Първият от тях вече ни е познат - позволява на потребителя да избира текст в полето за въвеждане:


Както може да се види на фиг. 7.10, този бутон е натиснат и деактивиран, т.е. не може да бъде деактивиран.

Вторият бутон за превключване, когато е активиран, инструктира Flash да обработи всички HTML тагове, срещани в текста:


Така че, ако затворим част от текста в таг<В>.. , Flash ще го подчертае с удебелен шрифт. Ако този бутон е деактивиран, Flash показва текста "какъвто е", заедно с всички HTML тагове, които са посочени там.

Най-общо казано, тази функция е полезна само ако указваме съдържанието на поле за въвеждане от ActionScript скрипт, така че е описано тук преди време. Подробна информация за поддръжка HTML таговеПолетата за въвеждане и динамичните текстови блокове могат да бъдат намерени в онлайн помощта за Flash.

Третият бутон за превключване, когато е активиран, кара Flash да показва рамка около полето за въвеждане, което го прави да прилича на стандартно поле за въвеждане на Windows:


Ако е деактивирано, полето за въвеждане има „плосък“ вид.

Ако създаденото от нас поле за въвеждане трябва да бъде част от оригиналния интерфейс, най-добре е да оставите този бутон деактивиран. Ако искаме да направим полето за въвеждане по-познато за потребителя или по-видимо, можем да активираме този бутон.

Вдясно от тези три бутона има поле за въвеждане вар. Това поле указва името на променливата на ActionScript, в която ще бъде поставен текстът, въведен в създаденото от нас поле за въвеждане. Променливата е вид „клетка за съхранение“ на данни, създадена в паметта на компютъра, и има уникално име, с което може да бъде уникално идентифицирана. Можем да се обърнем към тази променлива по име, да извлечем данни от нея или да поставим нова стойност в нея. Променливите ще бъдат обсъдени подробно в Глава 19.

В полето за въвеждане Максимален брой знацизадава максималния брой знаци, които потребителят може да въведе в него. Ако не искаме да ограничаваме този брой, тогава ще въведем стойността 0 там (това, между другото, е стойността по подразбиране на полето).

Сега да се върнем към темата за внедряването на шрифтове, но във връзка с полетата за въвеждане (по-точно, с всички специални текстови блокове). Работата е там, че в този случай не се извършва вграждане - Flash съхранява само имената на използваните шрифтове. Когато възпроизвеждате готово изображение, Flash Player първо търси тези шрифтове на компютъра на клиента и, ако има такива, ги използва за показване на текст. Ако не бъде намерен подходящ шрифт, плейърът използва най-близкия подобен шрифт до желания, което може да доведе до изкривяване на изображението. А това не винаги е приемливо.

Но все още можем да принудим Flash да вгради описания на избрани знаци от шрифта, указан за дадено поле за въвеждане, в получения файл Shockwave/Flash. Сега ще видим как става това.

Изборът на знаци на шрифта за вграждане се извършва в диалоговия прозорец Вграждане на знаци(фиг. 7.11). Този прозорец ще се появи на екрана след натискане на бутона Вгражданепанели Имоти(виж Фиг. 7.10).


Големият списък на този прозорец ще ни позволи да изберем цели групи от символи, които трябва да бъдат вградени в получения файл Shockwave/Flash. Съдържа доста елементи; същите, които гарантирано ще ни бъдат полезни, са дадени по-долу:

? Всички (39477 глифа)- всички символи на този шрифт в размер на 39 477. Този елемент е предоставен само за информационни цели; в действителност едва ли някой ще го използва;

? Главни букви (27 глифа)- главни латински букви (27 знака);

? Малки букви (27 глифа)- малки латински букви (също 27 знака);

? Цифри (11 глифа)- арабски цифри (11 знака);

?Пунктуация [!@#$%…] (52 глифа)- препинателни знаци и специални обозначения (52 знака);

?Основна латиница (95 глифа)- букви на повечето европейски езици (95 знака);

?кирилица (499 глифа)- Букви на кирилица (499 знака). Може би най-важният момент в нашия случай.

Като правило в този списък се маркират няколко елемента наведнъж (точно така - кой има нужда от букви без цифри!). За да направите това, първо щракнете върху първия елемент от набора от тези, които искаме да изберем, след което натиснете клавиша и, като го държите, щракнете върху останалите елементи, докато изберем всичко. След това можете да освободите ключа .

Под списъка с шрифтове има поле за въвеждане Включете тези знаци.В него можем ръчно да въведем знаците, които трябва да бъдат вградени. Този метод е полезен, ако искаме да вградим само определени символи в даден шрифт. И ако натиснем бутона Автоматично попълване,Самият Flash ще замени в това поле за въвеждане всички знаци, които сме използвали в текста на избраното поле за въвеждане.

В най-долната част на прозореца Опции за символиима малко текстово поле Общ брой глифове,показва колко символа вече сме избрали за вграждане. Така че можем да спрем навреме.

Бутон Не вграждайтеще ви позволи бързо да премахнете всички символи, които сме избрали за изпълнение. Когато щракнете върху него, полето за въвеждане ще се изчисти Включете тези знаци,и в голям списък изборът на елементите, които сме избрали, ще изчезне.

Чрез задаване на опции за вграждане на шрифт в диалоговия прозорец Вграждане на знаци,трябва да се натисне бутон ДОБРЕ,да ги приложите. Ако трябва да отмените тези настройки, щракнете върху бутона Отказ.

Динамични текстови блокове

Често, вместо да показвате обикновен, непроменен текст, искате да покажете резултата от ActionScript скрипт в текстова форма. Например, такъв скрипт може да извлича новини от уебсайта Compulents, прогноза за времето от уебсайта Aporta и обменни курсове от уебсайта Rambler, да добавя текущото време към извлечените данни и да показва всичко това като текст на екрана. (Между другото, интересна идея...)

Те се използват именно за показване на текст, който е резултат от скрипта. динамични текстови блокове.(Обикновените текстови блокове често се извикват статичен.)Може би необходимостта от такива динамични текстови блокове възниква по-често, отколкото от полета за въвеждане.

Динамичен текстов блок се създава почти по същия начин като поле за въвеждане. Създайте обикновен текстов блок, изберете го с инструмента със стрелка и го намерете в горния ляв ъгъл на панела Имотималък падащ списък (вижте Фигура 7.4). Просто трябва да изберете елемент от този списък Динамичен текст.

Избраният динамичен текстов блок е подобен на поле за въвеждане (виж Фиг. 7.9) и панел Имотище изглежда приблизително по същия начин, както е показано на фиг. 7.10. Затова няма да даваме описание на съдържащите се в него контроли, а ще се ограничим до посочване на съществуващите разлики.

Същите променливи се използват за показване на текст в динамичен текстов блок. Скриптът ActionScript поставя изходния текст в такава променлива и Flash плейърът изпълнява изхода. Името на тази променлива се въвежда в същото поле за въвеждане, което се намира под списъка, с помощта на който току-що превърнахме обикновен текстов блок в динамичен.

Сега за разликите. Всъщност има само една разлика по отношение на интерфейса и освен това вече ни е познат. Бутон за превключване:


Включването на възможност за маркиране и копиране на текст, поставен в динамичен текстов блок, вече е налично и можем да го деактивираме, ако желаем.

Разликата във възможностите е, че може да се направи динамичен текстов блок с възможност за превъртане. Един обикновен динамичен блок със сигурност трябва да има такива размери, че да може да съдържа цялото си съдържание. За блок с възможност за превъртане това не е необходимо: ​​подобно на областите Редактиране на Windows, той може да "превърта" текста, който съдържа. За да контролираме превъртането, ще трябва да напишем подходящи ActionScript скриптове - превъртаем текстов блок не съдържа ленти за превъртане.

За да направите динамичен текстов блок с възможност за превъртане, първо трябва да го изберете. След това трябва да включите превключвателя Възможност за превъртанеменю Текстили едноименния елемент от контекстното меню на текстовия блок. Ако в момента е отворен текстов блок, можете да щракнете двукратно върху квадратния манипулатор, разположен в долния десен ъгъл на правоъгълника за избор, като задържите . Готовият превъртащ се текстов блок е показан на фиг. 7.12; Имайте предвид, че маркерът, върху който щракнахме, имаше формата на черен квадрат.


Под заглавието "Macromedia Flash 8: курс за млад боец", посветен на този прекрасен софтуерен продукт и Flash технологии. От днес темите, които говорим за Flash, ще станат по-фокусирани. Затова отсега нататък ще пропускам думите „курс за млади бойци“ в заглавието. Това обстоятелство обаче изобщо няма да повлияе на начина на представяне на материала, чиято основна цел е да отговори на много въпроси, които имат начинаещите флаш дизайнери, и да даде храна за размисъл на опитни.

И така, днес на дневен ред са компонентите на потребителския интерфейс на Macromedia Flash Professional 8, както и как да ги персонализирате.


Стандартни Flash 8 компоненти

Най-новата версия на мощния графичен пакет Macromedia Flash 8, в допълнение към куп инструменти, методи и ефекти на времевата линия, предназначени за създаване на висококачествена анимация, съдържа пълноценен обектно-ориентиран език за програмиране ActionScript 2.0 и множество компоненти (вградени в програмни блокове като Movie).

Защо изобщо се нуждаем от компоненти? В много случаи те значително опростяват процеса на разработване на интерактивно приложение. С помощта на полета за въвеждане на данни и различни превключватели на уебсайтове могат лесно да се създават регистрационни форми, с помощта на зареждащи програми можете да контролирате зареждането на текстови и мултимедийни данни от различни източници и т.н. Днес ще се запознаем с един от компонентните класове във Flash 8 – елементите на потребителския интерфейс (User Interface – UI).

Най-популярният обект във Flash е, разбира се, бутонът. Той присъства във Flash както като тип символ, така и като UI елемент. Компонентите RadioButton, CheckBox, MenuBar и др. се използват по-рядко, но не са по-малко важни. Прозорецът на компонентите се извиква чрез натискане на Ctrl+F8 или от менюто Прозорец -> Компоненти. Вижте таблицата за основните компоненти на потребителския интерфейс.

Компонент Описание
Акордеон Навигатор на формуляри
Тревога Текстово съобщение
Бутон Обикновен бутон
CheckBox Квадратче за отметка
ComboBox Комбиниран списък
списък списък
Товарач Товарач контейнер
Радио бутон Превключвател за избор
TextArea Текстова област
прозорец Контейнер под формата на прозорец

Днес, като използваме примера за задаване на параметрите на елемент от потребителския интерфейс, наречен Alert, ще разгледаме принципите на работа със стилове на компоненти.


Предварителна настройка на свойствата на компонента

Компонентът Alert ви позволява да организирате малък диалог между потребителя и компютъра. Нека си представим нещо подобно на програмата Alice talking, създадена през 60-те години и притежаваща малък изкуствен интелект, който позволява да се води разговор с човек, като се използват неговите отговори на предварително зададени въпроси.

Първо, нека променим етикетите на бутоните и да напишем манипулатор за техните кликвания. В зависимост от това кой бутон е натиснал потребителят, ще се появи специално съобщение. Всичко това се постига без използване на стилове. И така, нека плъзнем прозореца за предупреждение върху празен лист от панела с компоненти и да му предоставим всички необходими настройки. Нека си припомним, че във всеки Flash fla файл има библиотека (извиквана чрез натискане на Ctrl+"L"), в която се съхраняват екземпляри на компоненти. Прозорецът за предупреждение също се побира тук. Тъй като не искаме винаги да виси в работното пространство, можем да го премахнем оттам (от артборда, разбира се). Предупреждението ще остане в библиотеката.

Сега изберете първия кадър на времевата скала, отидете в секцията Действия (F9) и напишете следния програмен код: „import mx.controls.Alert“ (за повече подробности вижте списъка). Много от необходимите настройки могат да бъдат зададени само с помощта на ActionScript. Прозорецът за предупреждение се извиква от процедурата Alert.show ("текст", "заглавие на прозорец", "използвани бутони", "прозорец", "манипулатор на щракване", "избран бутон") с много параметри, посочени в скоби. За използваните бутони "Alert.YES | Alert.NO" е посочено в единични кавички (има и бутони "OK" и "Cancel"), а за манипулатора на събития - функцията "buttonclick", която ще напишем малко по-късно. Сега нека променим етикетите на бутоните "ДА" и "НЕ", като използваме свойствата на компонента за предупреждение "yesLabel" и "noLabel". След това задайте необходимите размери („buttonWidth“ и „buttonHeight“). За да изберете оптималните параметри, е полезно да стартирате видеоклипа за тестване - клавишите "Enter" + Ctrl. Логиката на функцията „buttonclick“ е следната: при натискане на бутона „Прекрасно“ се появява съобщението „Продължавайте!“, когато „Така-така“ - „Дръжте носа си горе!“ За да влязат в сила промените, описанието на тази функция и настройките на компонента Alert трябва да предшестват извикването на процедурата Alert.show, както е показано в списъка:

Импортиране на mx.controls.Alert; Alert.buttonWidth=150; Alert.buttonHeight=25; Alert.yesLabel="Чудесно"; Alert.noLabel="Така-така..."; buttonclick = function(evt)(if (evt.detail == Alert.YES) (Alert.show("Продължавай така!", "Macromedia Flash 8");) if (evt.detail == Alert.NO) ( Alert .show("Дръж си носа горе!", "Macromedia Flash 8");)) Alert.show("Какво има, приятел?", "Macromedia Flash 8", Alert.YES | Alert.NO, this, buttonclick , Предупреждение .ДА);

По подобен начин можете да организирате по-сложен диалог с потребителя.


Работа със стилове

За какво се използват стиловете? Сега ще обясня. Всеки компонент във Flash има определена цветова схема, размер на шрифта и т.н. Но ако разработвате например свой собствен уебсайт, тогава, за да не нарушите целостта на картината, ще трябва да „настроите“ компонентите към сайта. Мисля, че няма да сбъркам, ако кажа, че всеки флаш дизайнер се стреми да създава своите видеоклипове по специален начин, който е уникален за него. Със стилове и теми във Flash 8 можете да направите всеки компонент уникален. Но нека не се увличаме и засега да се съсредоточим върху стиловете.

Интерфейсът за програмиране на приложението за форматиране (Styles API) предоставя на потребителя свойства и методи, които могат да се използват за промяна на цвета на компонент и форматиране на текста, съдържащ се в него. Обикновено това е достатъчно. Flash 8 се доставя с два стила с набор от параметри: "Halo" и "Sample", които се намират съответно във файловете HaloTheme.fla и SampleTheme.fla. Фигурата показва местоположението им в Windows 2000/XP. Трябва да се отбележи, че темата „Примерна“ има много повече свойства, така че е по-препоръчително да я използвате за модифициране на компоненти. И това се прави по следния начин:

  1. Извиква се командата File -> Import -> Open External Library и в диалоговия прозорец се посочва файлът SampleTheme.fla. След това в панела на импортираната библиотека изберете Flash UI Components2 -> Themes -> MMDefault. След това от този прозорец трябва да плъзнете папката с ресурсите на желания компонент (активи) в прозореца на библиотеката със символи на текущия документ.
  2. Използвайки методите setStyle (параметър, стойност) и getStyle (параметър), можете да зададете или получите стойността на определен параметър от избрания стил.

Тъй като работим с компонента Alert, ще плъзнем папката „Alert Assets“ в библиотеката със символи на нашия документ. След това ще използваме стандартните свойства на темата „Пример“ (вижте списъка).

Global.styles.Alert.setStyle("цвят", "червен"); _global.styles.Alert.setStyle("themeColor", "haloBlue"); _global.styles.Alert.setStyle("backgroundColor", "0xE0C5FE"); _global.styles.Alert.setStyle("fontFamily", "времена нов роман"); _global.styles.Alert.setStyle("Размер на шрифта", "15");

Цветът на диалоговия прозорец за предупреждение вече е лилав (0xE0C5FE), а текстът му вече е син, като шрифтът е зададен на 15 точки Times New Roman. Трябва да се отбележи, че символът за предупреждение е модифициран по този начин, така че промените ще засегнат всички негови екземпляри. Описание на всички свойства на темата Halo и Samlpe може да се намери в помощта за Flash 8.


Ами ако това не ми е достатъчно?

Ако дори със стилове външният вид на компонентите не отговаря на вашите естетически изисквания, можете да опитате да напишете своя собствена тема. За да направите това, просто редактирайте или заменете черупките на необходимите компоненти в една от стандартните теми. За да направите това, запазете файла HaloTheme.fla или SampleTheme.fla под уникално име, заредете го, отидете в прозореца на библиотеката със символи (Window -> Library или Ctrl+L), изберете необходимия компонент и изберете опцията "Edit" в контекстното меню. Някои елементи на потребителския интерфейс се състоят от много части, така че могат лесно да бъдат трансформирани чрез преначертаване или повторно създаване на всяка част. Такива компоненти са Button, CheckBox, ComboBox, DataGrid, RadioButton и др. Други обвивки се чертаят програмно. В този случай за промяна външен видкомпонент ще трябва да модифицира изходния код. Това е например компонентът Alert. Тъй като създаването на персонализирана тема е процес, който отнема време, няма да го разглеждаме подробно. Поне засега. Това е всичко.

Ръководството постави задачата: трябва да се поддържа в крак с времето Flash Player. Мащаб: ~15 000 компютъра, половината от които действително се нуждаят от FP.

Изглежда, че какъв е проблемът - създаваме политика за домейн, натискаме MSI пакета и се радваме ... Но това не е така! Фирмената структура е силно разпределена, т.е. В отдалечени локации с канал от ~1 Mbps на 20 компютъра пробутването дори на 15 Mb от политиците вече е проблем - сутрин служителите включват компютъра и чакат половин час да зареди, докато всичко се изтегли и инсталира (или просто пада поради таймаут). Да не говорим за факта, че компютрите в такива офиси имат неприятното свойство периодично да изпадат от домейна.

Имахме нужда от друго решение, което да работи независимо от политиките, да не натоварва потребителя по никакъв начин и да използва канала минимално (поне така, че да не изтеглят всички едновременно). Опциите със скриптове също не бяха подходящи по очевидни причини.

Google дойде на помощ, както обикновено: оказа се, че можете да инсталирате вътрешен сървър за актуализиране и да конфигурирате вградения FP updater върху него. В този случай ще трябва само да разпространите файла с настройки на клиентите. Детайли под кройката.

Настройка на сървър за актуализиране

1. Получаваме лицензионно споразумение

Adobe изисква лицензионно споразумение за разпространение на своя софтуер. Нека не нарушаваме условията за ползване и да вземем лиценз (за щастие не е никак трудно): FlashPlayer: Adobe Runtimes / Лицензионно споразумение за разпространение на Reader. Лицензът се издава за срок от една година. След изтичане можете да изпратите заявката отново.

2. Повишаване на уеб сървъра

Платформата няма значение; в моя случай стартирам N-тия сайт на IIS под Win2012. Той не консумира практически никакви ресурси, въпреки че ~3000 компютъра вече са конфигурирани за този сървър.

Настройки на сървъра:

  • Достъп през портове 80, 443 (съответно http, https).
    Първият е необходим всъщност за изтегляне, вторият FP ще отиде за XML версията на текущата версия.
  • Валиден https сертификат.
    Издадох сертификат на базата на корпоративния корен, който присъства на всички машини по подразбиране.
  • Списък с директории.
    Не проверих работата без него - документацията изисква, реших да го направя, както е написано.
Няма да навлизам в подробности за настройката на сървъра.

За по-голяма яснота, нека наречем сървъра FlashPlayerUpdate.domain.local.

3. Изтеглете ресурси и ги качете на сървъра

Създаваме дърво на директории в корена на уеб сървъра: /pub/flashplayer/update/current/sau/ .

Дърво на директории на моя сървър:

Ако сте поискали лиценз в първата стъпка, тогава в отговор трябва да получите писмо с връзка откъде да изтеглите FlashPlayer - следвайте тази връзка. Ако не сте го получили или не сте го поискали, отидете тук: https://www.adobe.com/products/flashplayer/distribution3.html и изтеглете архива от връзката " Изтеглете ресурси за фоново актуализиране":

Разширено издание за поддръжка или публично издание

Тук трябва да се направи една забележка. На страницата има 2 опции за изтегляне: стандартна (публична) и издание с разширена поддръжка. В моя случай стабилността е важна и не са необходими нови функции, така че беше избрана опцията ESR. В същото време добавих известно количество хемороиди към себе си: публичната версия може да бъде изтеглена директно чрез скрипт от уебсайта на Macromedia. Все още не съм търсил в Google как да изтегля ESR, така че в моя случай съдържанието на вътрешния сървър се актуализира в ръчно управление.

В края на статията съм прикачил 2 PowerShell скрипта: за автоматична актуализация(само за стандартната версия; лесно се пренася в bash), за проверка за актуализации и уведомяване по имейл (за всяка версия, включително ESR).


Разопаковайте изтегления архив в папката /pub/flashplayer/update/current/sau/ на сървъра.

4. Разпространение на конфигурационния файл до клиенти

В зависимост от капацитета на системата:

  • 32-битова: C:\Windows\ Система32\Macromed\Flash\mms.cfg
  • 64-битова: C:\Windows\ SysWOW64\Macromed\Flash\mms.cfg
Можете да го разпространявате по всякакъв начин. Използвах комбинация от политика за домейн и антивирусен административен сървър (за компютри, които са напуснали домейна).

Във файла ние активираме тихо автоматично актуализиране, посочваме интервала на актуализиране (в дни), пътя до нашия сървър и, за всеки случай, регистриране, за да улесним диагностицирането на проблеми, ако възникнат:

AutoUpdateDisable=0 SilentAutoUpdateEnable=1 AutoUpdateInterval=2 SilentAutoUpdateServerDomain=FlashPlayerUpdate.domain.local SilentAutoUpdateVerboseLogging=1
Ако всичко е направено правилно, тогава Flash Player на клиентски машини трябва да започне да се актуализира по график (според файла по-горе - веднъж на всеки 2 дни). Обикновено услугата за актуализиране на Adobe се изпълнява веднъж на час, за да провери условията за актуализиране - по това време Updater трябва да види конфигурационния файл, да конфигурира отново актуализациите според зададените настройки и да отиде на нов сървърпроверка на версията.

Тоест, около час след разпространението на конфигурационния файл, можете да прегледате регистрационните файлове на сървъра за заявки за проверка на версията.

Автоматизация

Като класически представител на ИТ братството, мразя рутинната ръчна работа и просто не можех да не автоматизирам процеса на проверка и изтегляне нова версия. Въпреки това, както беше отбелязано по-горе, все още не съм намерил начин да изтегля ESR версии от уебсайта на Macromedia, така че използвам скрипта само за проверка за актуализации. Предложения са добре дошли.
Скрипт за автоматично изтегляне на актуализации
Само за публична версия!

Логика на работа: скриптът глупаво изтегля файлове за актуализиране директно от Macromedia за версии 11,15,16,17,18,19 (ако някоя версия вече е премахната от сайта, скриптът просто ще се закълне, че не може да изтегли и ще пропуснете го) и го поставя със замяна със сървър за актуализиране. Без проверка на версията. На етапа на тестване използвах този скрипт: пуснах го през планировчика на сървъра през нощта.

Ако желаете, можете да пресечете този скрипт и следващия и да получите пълна автоматизация с проверка на версията, известия и изтегляне само ако има актуализации.

Параметри на скрипта:

  • *FPRoot- път до главната папка на сървъра за актуализиране. Локален или мрежов. Естествено, потребителят, от който ще се стартира скриптът, трябва да има права за запис в тази папка.
  • FFPDownloadRoot- път на уебсайта на Macromedia. Това е зададено по подразбиране, но може да се промени, ако е необходимо.
  • DownloadProxy http:// proxy.domain.local.
  • ProxyCredits
  • UserAgent
  • Сила
* - задължителен параметър

Пример за употреба:

Powershell.exe -команда "& ".\FPUpdater.ps1" -FPRoot "\\FlashPlayerUpdate\pub\flashplayer\update\current\sau" -DownloadProxy "http://proxy.domain.local" -ProxyCreds "DOMAIN\UserName " -UserAgent "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) като Gecko""
Всички параметри могат да бъдат твърдо кодирани в скрипт, ако дългите редове при стартиране са плашещи.

Скрипт за проверка на актуализации и известяване по имейл
Актуализациите се проверяват според стандартната версия, но тъй като те се актуализират едновременно (никой не е отменил корекциите за сигурност), ще работи и за ESR. За да работи скрипта, трябва да създадете CurrentPublic файл в корена на уеб сървъра (до папката pub), в който да въведете текущата публична версия за ActiveX(това е ActiveX версията, която се използва за проверка).

Работна логика: скриптът сравнява версията, получена от файла CurrentPublic от вашия сървър с версията на сървъра на Macromedia. Разглежда версията на сървъра според логиката на автоматичното обновяване: първо търси текущата основна компилация в XML, отива в папката с основната и там гледа пълната компилация.

Параметри на скрипта:

  • *FPIntServerRoot- Адресът на нашия сървър. Например: FlashPlayerUpdate.domain.local
  • FFPDownloadRoot- път на уебсайта на Macromedia. Това е зададено по подразбиране, но може да се промени, ако е необходимо.
  • СУЕ- проверете версията на ESR (без този флаг ще провери публичната версия).
  • DownloadProxy- прокси сървър, ако се използва във фирма. Напишете изцяло: http:// proxy.domain.local.
  • ProxyCredits- потребителско име за оторизация на проксито.
  • UserAgent- за промяна на потребителския агент, с който PowerShell ще тегли. Например, нашето прокси е ограничено от UserAgents, аз използвам агента на Internet Explorer.
  • Сила- деактивирайте проверката на сертификати за cmdlet Invoke-Webrequest (по-точно, направете го да вярва на всички сертификати).
  • *MailTo- имейл адреси, на които ще се изпращат известия.
  • *MailFrom- от кого ще идват известия. Например: [имейл защитен]
  • SmtpServer- smtp сървър, през който ще бъде изпратено съобщението.
* - задължителен параметър

Пример за употреба:

.\FPCheckUpdate.ps1 -FPIntServerRoot "fp-update.domain.local" -ESR -Proxy "http://proxy.domain.local" -UserAgent InternetExplorer -Force -MailTo " [имейл защитен]","[имейл защитен]"-MailFrom" [имейл защитен]" -SmtpServer "smtp.company.com"

Използвани ресурси

UPD

Малко закъсняла актуализация от 17.06.16.

След написването на тази статия Adobe успя два пъти да промени реда на достъп до страницата за изтегляне на FlashPlayer. В резултат на това сега, за да получите достъп до страницата за изтегляне, първо трябва да влезете в Adobe ID. Това е опцията за анализирането на страницата за версията ESR вече не е налице.

Все още не съм се занимавал с оторизация или получаване и изпращане на бисквитки чрез PowerShell. В резултат на това преработих скрипта за проверка на ESR на страницата distribution3, която може да изчезне всеки момент. Дотук, ще видим по-нататък.

В началото на годината зададох въпрос във форума на Adobe по темата за проверка за актуализации на версията на ESR. Обещават да измислят нещо, но засега проблемът е налице.

UPD2

Онзи ден се появи следната информация на страницата за разпространение на Flash Player (връзката, към която сте получили, когато сте получили лиценз за разпространение):

ВНИМАНИЕ! Важни промени с изданието за разширена поддръжка

Изданието за разширена поддръжка първоначално е проектирано да минимизира времето, което ИТ администраторите прекарват в сертифициране на всяко ново издание на Flash Player: Изданието за разширена поддръжка ограничава промените в изданието на промените в сигурността и корекциите за критични функционални проблеми. По това време във всяко издание на Flash Player имаше много повече функционални промени, отколкото промени в сигурността. Сега обаче ситуацията се е променила: броят на проактивните и реактивни мерки за сигурност далеч надвишава функционалните промени. На практика версията за разширена поддръжка вече не защитава ИТ организациите от голямо количествопромени, направени в стандартните версии на Flash Player, но само намалява функционалните рискове. В тази връзка беше взето решение да се прекрати изданието с разширена поддръжка и да се концентрира върху разработването само на стандартни версии. Добави тагове

Последната статия беше посветена на анимацията. Създадохме анимация, базирана на туининг на движение, туининг на форма и просто композиране на движение от отделни кадри. Мисля, че е време да преминем към по-напреднала тема, разглеждайки инструмента, който създава основата за повечето качествени Flash филми.

Този инструмент е ActionScript, управляван от събития език, вграден във Flash. Последна версия ActionScript (който присъства във Flash 5) е значително различен от ActionScript, който беше във Flash 4. Ако в предишната версия това беше ограничен набор от команди, позволяващи само основни действия и въведени чрез не много удобен за потребителя интерфейс, то новият ActionScript е мощен език с увеличен набор от команди, поддръжка за класове, наследяване (!) и много по-удобен интерфейс.

ActionScript прави вашите страници интерактивни. Можете да реагирате на събития от мишката или клавиатурата и можете да извършвате всякакви действия, когато играете определен кадър.

За да овладеете напълно ActionScript, препоръчително е вече да имате опит в програмирането (за предпочитане на C++, JavaScript и др.). Едно от предимствата на езика Flash обаче е, че не е необходимо да сте Flash професионалист или да сте напълно запознати с ActionScript, за да пишете качествен код в него. Можете да използвате тези езикови функции, които смятате за необходими за вашата работа.

Тъй като тази статия е за основите на езика, в нея ще разгледаме:

  • Панелът Действия е мястото, където се осъществява почти цялата комуникация с ActionScript.
  • Бутони - как да ги накараме да работят според изискванията ни.
  • Пътища - как да получите достъп до необходимите обекти?
  • Основни действия с Flash карикатури (филмови клипове) - ние ще контролираме процеса на възпроизвеждане на филма, както пожелаем.
  • Отстраняване на грешки в ActionScript - Прозорци за извеждане и отстраняване на грешки.

Целта на тази статия е да ви даде представа за ActionScript, за да покаже, че този език може да се използва както за създаване на много впечатляващи програми, така и за извършване на основни действия, които ще направят страницата ви много по-привлекателна.

Условия

Преди да преминем към конкретни действия, няколко термина на ActionScript:

  • Действия- това са инструкции, които казват на Flash карикатурата какво да прави. От тях идва и името на езика – ActionScript (буквално – скрипт за действие). Нека се съгласим, че в рамките на тази статия ще използваме термина „инструкции“, за да не се бърка с действителните действия, които ще извършим.
  • събития- това са действията, които се случват, когато се играе анимационният филм. Събития, например, могат да възникнат, когато зареждането на определен кадър приключи, когато достигнем определен кадър, когато потребителят натисне клавиш на клавиатурата или курсорът на мишката е върху нашия обект.
  • Изразие всяка част от инструкция, която произвежда стойност. Следните примери са изрази: 2 + 2, 2 * 2, a + b, 2*pi*r, (15 + k) * произволно (10).
  • Функциие блок от код, който може да се използва повторно. Можете да предавате стойности на функция и да получавате резултат от нея. Например, номер = get_color(15, 24). 15 и 24 са аргументи (или параметри) на функцията get_color, чиято върната стойност се записва в числовата променлива.
  • Класовеса видове обекти. Например класът дърво е растение. Flash има редица предварително дефинирани класове (подобно на класовете на JavaScript). Можете да създавате свои собствени класове или да променяте съществуващи.
  • Инстанцииса буквално екземпляри на определени класове. Например екземпляр на растение може да бъде дърво, храст или цвете. Екземплярът вече е конкретен реален обект. Ако класът е дефиниция на обект (инстанция), тогава инстанцията вече е конкретно въплъщение, това е клас в действие. Всеки екземпляр може да получи име, така че функциите или променливите на обекта да могат да бъдат достъпни чрез него.
  • Манипулаториса специални инструкции, които обработват събития. Например onClipEvent- манипулатор за действия, свързани с конкретен символ (вижте).
  • Операториса езикови елементи, които изчисляват стойности въз основа на един или повече аргументи. Например операторът за добавяне (+) връща сумата от двете стойности отляво и отдясно на него.
  • Променливиса идентификатори, които могат да съхраняват стойности. Например a = 5; или име = "Майкъл".

Това са термините, които ще използваме, когато обсъждаме ActionScript. Така…

Панел за действия

Лентата с действия се използва за показване и въвеждане на ActionScript програми (фиг. 1). Има два режима на работа с панела - нормален (за манекени) и експертен. В експертен режим списъкът с команди е просто поле за въвеждане на текст. В нормален режим не можем директно да редактираме команди. За да направите това, използвайте панела с опции.

Можете да добавите инструкция, като щракнете върху бутона „+“ (вижте фиг. 1) или като изберете подходящата инструкция в списъка с езикови елементи. В допълнение, за всички действия във Flash има ключови последователности, които могат да се използват, за да направите това много по-бързо. Те се показват отдясно на всяко действие в менюто на бутона "+". Например, за да добавите функция Спри се(), трябва да натиснете Esc+st (последователно: Esc, след това “s”, след това “t”).

Можете да изтриете инструкция, като я изберете и натиснете бутона "-" (или просто клавиша Delete).

Препоръчвам ви да не започнете веднага да използвате експертен режим, ако нямате опит в програмирането на езици, подобни на Java (C++, Java, JavaScript). Нормалният режим има голямо предимство, което го прави незаменим за начинаещи - има много по-малък шанс да направите грешки със синтаксиса на езика. Това ще помогне на начинаещите бързо да разберат тънкостите на ActionScript.


Ориз. 1 - Лента за действие

Панелът с действия показва действията на текущо избрания обект или рамка.

Бутони

Първото нещо, което искате, когато започнете да изучавате интерактивността на Flash, е да направите нещо, което да реагира на действията на потребителя, да „съживите“ вашето творение, да добавите обратна връзка. Най-лесният начин да направите това е с бутони. Затова ще започнем с тях.

Както знаете, във Flash има специален тип символ за създаване на бутони - бутон (вижте). Да предположим, че вече сте научили как да създавате бутони, сега нека научим как да проследяваме кликванията върху тези бутони.

Бутоните в Macromedia Flash имат обширен списък от събития, на които можем да реагираме:

  • Натиснете- бутонът на мишката е натиснат, когато курсорът е в рамките на бутона;
  • освобождаване- бутонът на мишката се освобождава, когато курсорът е в рамките на бутона;
  • освобождаванеOutside- бутонът на мишката се освобождава, когато курсорът е извън бутона;
  • Търкулни се- курсорът на мишката влиза в бутона;
  • разточвам, разстилам- курсорът излиза извън бутона;
  • dragOver- курсорът влиза в границите на бутона, докато е натиснат бутонът и е натиснат клавишът на мишката;
  • измъквам се- курсорът излиза извън бутона, докато бутонът е натиснат и клавишът на мишката е натиснат;
  • keyPress("клавиш") - натиснат е "клавиш". Можете да видите списък с ключове в помощта за Flash (Ключов обект) или да използвате лентата с опции, за да въведете желания ключ.

За съжаление, Flash "разбира" само левия бутон на мишката. Дясната се използва за извикване на контекстното меню (щракнете с десния бутон върху някоя флаш анимация). Все още не съм срещал начини да хвана средния клавиш или колелцето на мишката във Flash; не мисля, че съществуват.

Тези събития се прихващат с помощта на директивата На(). Синтаксисът му е:

На (събитие) (... // Нашите действия)

По-долу можете да опитате сами да задействате някои събития:

Много често използван пример е следването на връзка, когато се щракне върху бутон:

На (издаване) ( getURL("http://rubs.boom.ru"); )

За да тествате този сценарий, маркирайте вашия бутон, натиснете Ctrl+Alt+A и влезте в програмата.

Ето как можете лесно да прихванете всички събития, свързани с бутон. Е, как да ги използвате е изцяло въпрос на вашето въображение.

Основни стъпки с филмови клипове

Голямо количество креативност във Flash идва от манипулирането на символи. Почти всички основни техники, всички трикове и ефекти са невъзможни без тези действия.

С ActionScript можете да правите почти всичко, което искате със знаци. Просто трябва да запомните, че тези действия могат да бъдат извършени само в отговор на действие на потребител или когато се появи определен кадър на времевата линия.

И така, какво имаме? Ще изброя само основните (по мое мнение) инструменти. Останалите ще намерите в списъка с езикови елементи или в помощта.

Функции на филмови клипове, които могат да бъдат извикани:

  • играя() - стартира или възобновява възпроизвеждането на клип;
  • Спри се() - спира възпроизвеждането на клип;
  • gotoAndPlay() - преминава към определен кадър (сцена) и продължава възпроизвеждането;
  • gotoAndStop() - преминава към определен кадър (сцена) и спира възпроизвеждането.

Свойства (параметри) на клипове, които могат да се четат/променят:

  • _x, _y - координати на клипа (в пиксели);
  • _xscale, _yscale - мащаб на клипа (в проценти), съответно хоризонтално и вертикално;
  • _ширина, височина - ширина и височина на клипа (в пиксели);
  • _завъртане - ъгъл на завъртане на клипса (в градуси);
  • _алфа - прозрачност на клипа (в проценти);
  • _видим - видимост.

Това не е всичко, което може да се направи с клипове. Използвайте други параметри, експериментирайте, бъдете креативни!

имена

За да имаме достъп до клипове, трябва да разберем концепцията за име на обект (име на екземпляр) и път към обект (целеви път). Нека се съгласим, че клипът и обектът са едно и също нещо за нас.

Името на обекта е името на конкретен екземпляр на символ. Да кажем, че можем да имаме символ - кола, и екземплярите на този символ ще се наричат ​​"Машина1", "Машина2", "Пикап", "Запорожец"...

За да дадете име на обект, трябва да изберете обекта и в панела Instance (Window->Panels->Instance, Ctrl+I) в колоната Name да въведете името на обекта (Фиг. 2 ). Имената могат да се състоят само от букви, цифри и долна черта ("_") и името не може да започва с цифра.


Ориз. 2 - Панел за екземпляри

пътеки

Пътят до обект е запис на името на обекта, като се вземе предвид йерархията. Ще се опитам да обясня какво представлява.

Знаете, че във Flash обектите могат да бъдат вложени един в друг, образувайки по този начин йерархия. Така че това влагане не само осигурява удобство при работа с обекти, но също така ограничава видимостта на имената на обекти. Видимостта е ограничена до неговото ниво. Един обект може директно (по име) да осъществява достъп само до обекти в него, които са едно ниво по-ниско в йерархията.

За да получите достъп до обект на друго ниво, трябва да знаете пътя до него. Освен това пътят може да бъде зададен или абсолютно (от най-горното ниво на йерархията), или относително (от текущото ниво).

Пътят включва обекти, през които трябва да „минем“ по йерархичното дърво, за да стигнем до обекта, който ни трябва, изброен с точка. Освен това има няколко указателя (може да ги наречем "виртуални обекти"), които често са много полезни:

това - указател към „себе си“ (т.е. към текущия обект). Може да е необходимо, например, когато трябва да предадете указател към обекта, от който тази функция се извиква към функция.

_parent - указател към "родителя". Сочи към обект на по-високо ниво в йерархията.

_root - "корен". Това е началото на йерархията. Не можете без него, когато задавате абсолютен път.

Пътят изглежда така:

leaf.play();- при подобекта листо(лист) извикана функция възпроизвеждане();

_parent.tree.leaf.stop();- предполага се, че има обект на едно ниво дърво,който има обект листо, от който се извиква функцията Спри се();

_root.banner._visible = невярно;- направи клип банер, разположен на 1-во ниво, невидим.



Ориз. 3 - Йерархия на клиповете

За илюстрация нека вземем йерархия от 5 обекта (фиг. 3). Обекти 1-4 са на 1-ви слой, обект 5 е на 2-ри слой. Обект 2 е вложен в обект 1, а обект 3 е вложен в обект 2. Обектите на картината са визуално вложени един в друг, но това по никакъв начин не означава, че това трябва да е така „в реалния живот“. Тук те са групирани за по-голяма яснота. Тъй като името на обект не може да започва с число, нека нашите обекти се наричат obj1-obj5.

Сега нека се заемем с пътеките. Първо, нека да разгледаме кои обекти могат да се отнасят един към друг по име. obj1може да се свърже obj2,А obj2- Да се obj3, но в същото време obj1не мога да се свържа obj3директно, защото не се съдържа в obj1, и в obj2.

Да кажем, че първият обект се нуждае от обект 3, за да започне да възпроизвежда отново от 1-вия кадър. Ето как се прави:

Obj2.obj3.gotoAndPlay(1);

За да може 4-тият обект да направи 1-вия обект (забележка с всички подобекти!) полупрозрачен, той трябва да напише следното в своя скрипт:

Parent.obj1._alpha = 50;

Root.obj1._alpha = 50;

защото obj4е на първо ниво на йерархията, след това за него _rootИ _parent- един и същ.

Сега за обект 3 ще напишем скрипт, който ще направи обект 5 невидим при натискане на бутона на мишката. В скрипта за обект 3 пишем:

OnClipEvent (mouseDown) ( _root.obj5._visible = false; )

В този фрагмент сме използвали абсолютен път. Ако използваме относително, ще изглежда така:

Parent._parent._parent.obj5._visible = невярно;

Надявам се, че изчистих проблема с пътя.

Примерите по-горе показаха не само как изглеждат пътищата, но и как се извикват функциите и се присвояват стойности на свойствата.

Публикации по темата