You are on page 1of 52

Универзитет “Гоце Делчев” – Штип

Факултет за Информатика

ДИПЛОМСКА РАБОТА

Тема
Мултимедијална веб страна изработена во Flash и ActionScript 3.0

Ментор: Изработил:

Доц. Д-р Александра Милева Оливер Алексов 1088

Штип, Декември 2012


Содржина

Содржина ..................................................................................................................................................... 2
Предговор .................................................................................................................................................... 4
Вовед ............................................................................................................................................................ 5
Flash .............................................................................................................................................................. 7
Историјата на Flash .................................................................................................................................. 8
Лансирањето на FutureWave.............................................................................................................. 8
Создавање на Flash ............................................................................................................................. 9
Macromedia .......................................................................................................................................... 9
Adobe .................................................................................................................................................. 10
Денес .................................................................................................................................................. 10
Запознавање со работна околина на Flash Professional cs3 .............................................................. 13
Сцена .................................................................................................................................................. 14
Временска рамка............................................................................................................................... 14
Алатки ................................................................................................................................................. 15
Панели ................................................................................................................................................ 15
Библиотека ........................................................................................................................................ 16
Својства .............................................................................................................................................. 17
Први чекори во Flash ............................................................................................................................. 18
Креирање на Flash фајл..................................................................................................................... 18
Објавување на вашата датотека ...................................................................................................... 19
Зачувување на вашата датотека....................................................................................................... 19
ActionScript ................................................................................................................................................. 19
Историја ................................................................................................................................................. 21
Хронологија според верзијата на Flash Player ................................................................................... 22
Хронологија на верзиите на ActionScript ............................................................................................ 23
ActionScript 1.0 ................................................................................................................................... 23
ActionScript 2.0 ................................................................................................................................... 24
ActionScript 3,0 ................................................................................................................................... 25
Flash Lite ............................................................................................................................................. 26

2
Синтаксата на ActionScript .................................................................................................................... 26
Case sensitivity .................................................................................................................................... 26
Dot синтакса ....................................................................................................................................... 27
Литерали (Literals) ............................................................................................................................. 28
Точка-запирка (;)................................................................................................................................ 29
Коментари .......................................................................................................................................... 30
Константи ........................................................................................................................................... 30
Типови на податоци .............................................................................................................................. 32
ActionScript 3 податочни типови ...................................................................................................... 32
ActionScript 3 комплексни типови на податоци ............................................................................. 33
Други комплексни типови на податоци .......................................................................................... 34
Користење на податочни типови ......................................................................................................... 34
Заштита на кодот ................................................................................................................................... 35
Код пред “збунувањето” .................................................................................................................. 36
Код после “збунувањето” ................................................................................................................. 36
Мултимедијална веб страна .................................................................................................................... 38
Вчитување на страната (Preloader) ...................................................................................................... 38
Вовед на страната (intro) ...................................................................................................................... 39
Дизајн на целата страна ....................................................................................................................... 40
Банер со слики ................................................................................................................................... 42
Паѓачко Мени .................................................................................................................................... 42
Страни................................................................................................................................................. 43
MP3 player .......................................................................................................................................... 46
Панел новости и линкови ................................................................................................................. 47
Дигитален Часовник .......................................................................................................................... 47
Бројач на посети ................................................................................................................................ 48
Footer .................................................................................................................................................. 49
Галерија .............................................................................................................................................. 49
Користени програми ............................................................................................................................. 50
Заклучок ..................................................................................................................................................... 51
Користена литература ............................................................................................................................... 52

3
Предговор

Flash производ на Macromedia (денес сопственост на Adobe), е технологија


специјално адаптирана за посебни барања на интернет. Графички е врз основа на
векторски опис на објектите со анимација управувана од промените во своите
објекти, во моментов е најефикасното решение за веб доменот на анимација.

Целта на овој труд е информирање што и како може Flash-от да претстави,


со акцент, карактеристики и можности на ActionScript, Flash-овиот внатрешен
скриптен јазик.

Воведот го воведува читателот на прашањето за веб содржини, и


претставува зошто Flash е поразличен од останатите предизвици.

Првата глава го претставува Flash програмот, негова историја и неговата


оперативна околина, начинот на работење и можности.

Втората глава дава преглед на програмскиот јазик ActionScript, исто така


неговата историја, неговата синтакса, податочни типови и др .

Третата глава е објаснување на практичниот ден односно изработката на


мултимедијалната страна, со што ке претставиме дел од можностите на
ActionScript 3.0

Заклучокот потсетува на главните карактеристики на Flash и можностите од


неговата примена.

4
Вовед

Flash е производ на компанијата Macromedia (денес Adobe), чии фајлови


(филмови) се со .SWF екстензија и се прикажуваат во веб прелистувачот преку
plug-in. Flash Player plug-in-от е развиен и се развива за сите големи платформи
(процесор + OS + прелистувач). Форматот .SWF е со отворен код при што
овозможува побрзо и повеќе распространето присуство во целиот свет. На
насловната страница на најновата презентација на компанијата Adobe за “Adobe
Creative Suite 6” стои фактот дека 98% од интернет корисниците го имаат овој
додаток.

“Estimators say that 98 percent of the world's computers have Flash installed on
them, whether they're running Windows, the Mac OS, or any other operating system,
and no matter which browser they're running.”1

Ова, всушност кажува дека Flash-от е стандарден во светот и глобалната


мрежа, и факт e дека најновите прелистувачи со самото инсталирање го
инсталираат овој plug-in во нивната околина,

Независност од платформа

Значи, секој посетител кој има Flash Player има способност да го погледне
.SWF филмот бидејќи тој не зависи од платформата која пристапува до фајлот.
Потоа, сите фонтови кои се потребни за презентација во Flash се вклучени во
документот, така што изгледот не е зависен од фонтовите инсталирани на вашиот
компјутер. Сите графички елементи во Flash-от, вклучувајќи ги и фонтовите, се
векторски опишани, така што е можно намалување на филмот спрема прозорецот
или интернет пребарувачот односно не постои зависност од резолуцијата на
екранот.

1
http://www.pcworld.com/article/256487/adobe_creative_suite_6_taps_more_html5_power.html

5
Векторска графика

Описот на векторската графика е едноставна и без загуба на податоци,


бидејќи не постои компресија. Филмот е во еден фајл, така што серверот се
справува со само едно барање при испраќањето на филмот до клиентот. Вкупната
големина на .SWF фајлот е помал од аналогно на тоа направена HTML страница.

Анимација и интеракција

Flash фајлот се нарекува филм заради можностите за анимација, основните


предности на интернетот во споредба со сите други предложени решенија.
Пример: анимација на квадрат кој ротира по патеката и притоа ја менува својота
големина, е запаметен како објект опишан со позиции во неколку точки, т.е
почетна и крајна позиција на објектот, со фактор скалирање и број на свртувања
за време на анимацијата. Целиот тој опис можат да се наоѓа во десетина бајти,
без оглед на големината на квадратот и бројот на слики кои се вклучени во целата
анимација. Реализацијата на оваа иста анимација во битмапираниот свет е серија
на потребни слики (според должината на анимацијата), од кои секоја комплетна
слика ја опишува содржината на својата точка (бројот на точки зависи од
големината - ширина и висина), или промена на содржината во однос на
претходната слика. Значи, димензијата на анимацијата и нејзината должина
значително влијание врз големината на анимацијата.

Еден од елементите на Flash-от се објекти кои може да реагираат на


одредени настани, меѓу кои се кориснички акции преку тастатура или глувче , кои
понатаму може да предизвикаат натамошно однесување во филмот. Целата
содржина на филмот во Flash може да се промени како одговор на кориснички
акции, без потреба за влечење содржини од серверот, бидејќи целата содржина
може да се најде во рамките на самиот филм. Во рамките на Flash-от за
управување со контролата на филмот се користи јазикот ActionScript, на кој во
рамките на овој труд се посветува посебно внимание.

6
Flash

Adobe Flash Professional (порано Macromedia Flash) е мултимедијална


програма (платформа) која се користи за да се создаде содржина на Adobe
платформа, како што се самостојни и веб анимации и апликации кои се
интерактивни, потоа за манипулирање со графика, создавање на видео плеери, и
аудио стриминг апликации, игри и филмови, содржини за мобилни телефони и
други преносни уреди. Во поново време Adobe Flash е позициониран како алатка
за”богати интернет апликации” (“RIAs”)2

Flash манипулира со векторски и растерска графика за да обезбеди


анимација на текст, цртежи и фотографии. Тој поддржува двонасочен стриминг на
аудио и видео и може да препознае кориснички влез преку глувче, тастатура,
микрофон и камера. Flash содржи објектно-ориентиран јазик наречен ActionScript и
Flash editor-от поддржува автоматизација преку Javascript Flash Language (JSFL).

Flash содржината може биде прикажана на различни компјутерски системи


и уреди, користејќи Аdobe Flash Player, кој е достапен бесплатно за заеднички веб
пребарувачи, некои мобилни телефони, и неколку други електронски уреди (со
користење на Flash Lite).

Со други зборови Flash е она што се користи за создавање на многу живи,


интерактивни содржини за дизајнирање било каков вид на интерактивни, визуелно
стимулирани медиумите (од банер реклами, интерактивни копчиња за навигација,
цртан филм анимации, па дури и цели веб-сајтови како што се
“http://www.thesimpsons.com”, што е 100 проценти Flash). За разлика од статични
слики кои ги гледаме на веб страници кои можат да бидат. JPG, BMP или други
видови на формат, кои можат да се движат, па дури и анимирани GIF слики кои ја
повторуваат истата, едноставна шема како “смешко”, Flash филмови се многу
повеќе интерактивни. Постои неограничен потенцијал со Flash каде може да се
вклучуваат и вистински видео клипови, составени анимации и звучни датотеки.

2
"Rich Internet applications". Adobe. Retrieved April 10, 2012.

7
Аdobe Flash изгледа слично на сликарски уредник со алатки за уредување
на сликата и панел со алатки.

Некои корисници сметаат дека Flash го збогатува нивното веб искуство,


додека други наоѓаат широка употреба на Flash анимации, особено во
рекламирањето. Flash исто така е критикуван за негативно влијае на
употребливоста на веб страниците3.

Историјата на Flash

Историјата на Flash може да се проследи наназад од 1980 година, кога


средношколецот Jonathan Gay искористил стар Apple II компјутер за да создаде
програм за компјутерски цртеж. Тој направил една од овие програми, позната како
SuperPaint, во училишниот натпревар по наука. По неговата победа, неговата
програма го привлекло вниманието на локалниот развивач на софтвер Charlie
Jackson, кој бил во процес на отпочнување на компанија позната како Silicon
Beach Software, која што ќе произведувала програми за компјутерите Macintosh.

Со малку средства на располагање не можел да вработи искусни


програмери, па Jackson го ангажирал Gay да помогне во создавањето на неговите
програми.

Лансирањето на FutureWave

Gay работел во Silicon Beach Software до крајот на својот факултет. Тој


развил голем број на компјутерски игри за компанијата, вклучувајќи го и
популарниот "Dark Castle", како и програма за илустрација наречена Intellidraw.
Користејќи ги вештините за анимација и графика што ги добил со развивањето на
овие програми Gay одлучил да лансира сопствена компанија и да создаде
софтвер за pen computers (електронски таблет каде корисниците можело да
"пишуваат" со посебно пенкало).

3
"Flash: 99% Bad". Retrieved January 8, 2011.

8
Тој ја основал FutureWave Software во јануари 1993 година, и веднаш го
создал SmartSketch. Оваа програма им овозможила на корисниците да цртаат
електронски на своите компјутери, но имала мал успех, поради нејзиното доцно
влегување на пазарот.

Создавање на Flash

До 1995 година, програмерите на FutureWave го реализирале потенцијалот


од користење SmartSketch во анимациона алатка. Во тоа време, интернетот и
World Wide Web, биле релативно нови концепти. Gay и неговиот тим додале
анимација и Java карактеристики на SmartSketch, и го преименувале како
FutureSplash Animator. Оваа програма била првата верзија на Flash програмот кој
го користиме денес.

Пред “испраќањето” на FutureSplash, Gay одлучил дека ќе имаат подобар


успех со партнерство со поголема компанија. Тој зборувал и со Adobe и Fractal
Designs, но ниту едниот не бил импресиониран со програмата. Во летото 1996
година, првите единици на FutureSplash Animator биле продадени на јавноста.

Macromedia

FutureSplash аниматорот бил таков успех во компјутерскиот пазар така што


Microsoft пристапил на програмерите во рок од само неколку месеци од
објавувањето на програмата. Microsoft планирала нивна онлајн верзија на MSN, и
верувала дека FutureSplash ќе обезбеди рамномерна и најквалитетна графика.
Disney Online исто така ја искористила програмата за развој на нивниот веб-сајт.

До ноември 1996 година, Macromedia понудила понуда за купување на


програмата и до декември, Gay прифатил. Macromedia го променила името на
производот во Macromedia Flash v1.0. и го ангажиралe Jonathan Gay како
потпретседател на технологија (Technology Vice President).

9
Adobe

Во текот на следната деценија, Macromedia има издадено осум верзии на


Flash, секој понапреден од последните. Во 2005 година, програмата била
опремена за проследување на музика и видео во живо, и била широко користена
за различни апликации, фотографии, анимации и др.

На крајот на 2005 година Adobe Systems ја добиле Macromedia, вклучувајќи


ја и Flash програмата која тие ја користеа повеќе од една деценија. Во 2007
година, Adobe лансираше новата верзија на Flash позната како CS3, која започна
како дел од Adobe Creative Suite пакетот.

Денес

Adobe после Flash cs3 верзијата има издадено уште 4 верзии од


програмата, и моментално последна и актуелна е Adobe Flash Professional CS6.

Верзија Година Објаснување


Future Splash 1996 Првичната верзија на Flash со основните алатки за уредување и
временска рамка
Animator
Macromedia 1996 Rебрендирана верзија на FutureSplash Animator

Flash 1
Macromedia 1997 Објавен Flash Player 2, и вклучени нови функции : the object
library
Flash 2
Macromedia 1998 Објавен Flash Player 3, и вклучени нови функции : елементот
movieclip, JavaScript plug-in-интеграција, транспарентност и
Flash 3
надворешен самостоен плеер
Macromedia 1999 Објавен Flash Player 4, и вклучени нови функции : внатрешни
варијабли, поле за внесување, напреден ActionScript, и
Flash4
streaming MP3

10
Macromedia 2000 Објавен Flash Player 5, и вклучени нови функции : ActionScript
1.0 (врз основа на ECMAScript, што го прави многу слична на
Flash 5
JavaScript во синтаксата), XML поддршка, Smartclips (претходник
на компоненти во Flash), HTML форматирање на текстот
додаден за динамички текст
Macromedia 2002 Објавен Flash Player 6, и вклучени нови функции : видео
кодек(Sorenson Spark), Unicode, v1UI компоненти, компресија,
Flash MX(6)
ActionScript vector drawing API
Macromedia 2003 Објавен Flash Player 7, и вклучени нови функции : ActionScript
2.0 (со што се овозможил објектно-ориентиран програмски
Flash MX
модел за Flash, иако немал Script помошна функција на други
2004(7)
верзии, што значи ActionScript можел да се вметне само
рачно), слој(JSAPI), ефекти на временска рамка, интеграција на
веб сервиси, Media Playback компоненти, Data компоненти (
DataSet, XMLConnector, WebServices Connector ,
XUpdateResolver, итн.), v2 UI компоненти,
Macromedia 2005 Објавен Flash Player 8, со него вклучени нови функции :
ограничена подршка за видео и напредни графички и
Flash 8
анимациони ефекти, додадени карактеристики фокусирани на
експресивност, квалитет, видео, исто така новите
карактеристики вклучувале филтри, и мешање на режими,
easing контрола на анимација, режим на објектно-базирано
цртање, On2 VP6 напреден видео кодек, подршка за алфа
транспарентност во видео, самостоен енкодер, подршка во FLV
фајлови, компонента за напредна видео репродукција, и др.
Adobe Flash 2007 Flash CS3 е првата верзија на Flash објавен под името Adobe.
CS3 има целосна поддршка за ActionScript 3.0, овозможува
CS3 Professional
целата апликациja да се конвертира во ActionScript, додава
(9)
подобра интеграција со други Adobe производи како Adobe
Photoshop, а исто така обезбедува подобро Vector drawing
behavior, станува се повеќе како Adobe Illustrator и Adobe
Fireworks.
Adobe Flash 2008 Flash CS4 содржи инверзната кинематика (bones), основни 3D
манипулациисо објект , објектно-базирани анимации, текст
CS4(10)
engineи понатамошно проширувања на ActionScript 3.0. CS4
Professional
овозможува на развивачите да креираат анимации со многу
функции присутни во претходните верзии.

11
Adobe Flash 2010 Flash CS5 беше објавен на 12 април 2010 година и лансиран за
испитување и нормално купување на 30 април, 2010 година.
Professional
Flash CS5 Professional вклучува поддршка за објавување на
CS5(11)
iPhone апликации. Сепак, на 8 април, 2010 година Apple ги
смени условите во својата програмерска лиценца и ефикасно ја
забрани употребата на Flash-за-iPhone компајлерот4 и на 20
април 2010 година Adobe најави дека тие нема да прават
дополнителни инвестиции во таргетирање на iPhone и iPad во
Флеш CS5. [4]
Други карактеристики на Flash CS5 се нов текст engine (TLF),
натамошно подобрување на инверзната кинематика и Code
Snippets5 панел.
Adobe Flash 2011 Flash Professional CS5.5 беше објавен во 2011 година.
Вклучува подобрена поддршка за објавување на iPhone
Professional
апликации, по ревизијата на Apple на нивните iOS развивачки
CS5.5(11.5)
услови. Flash CS5.5, исто така, содржи неколку функции за
подобрување на мобилните работните процеси низ уреди.
Некои примери се: Скалирање на содржина и промена на
димензиите на сцената, копирање и залепување слоеви,
споделување на симболи во FLA датотеки, , растечки
компилации, авто-зачувување и датотека за обновување, и
интеграција со CS онлајн услуги.
Adobe Flash 2012 Adobe Flash Professional CS6 беше објавен во 2012 година.
Вклучува поддршка за објавување на датотеки како HTML5 и
Professional
генерирање Sprite sheets.
CS6(12)

Табела 1. Објавување на Flash според година на издавања

4
New iPhone Developer Agreement Bans the Use of Adobe’s Flash-to-iPhone Compiler". Daring Fireball. Archived
from the original on 30 April 2010. Retrieved 2010-04-22.
5
Apple Inc. modified terms & conditions for developers in the app store. Adobe is developing again for iPhone and
iPad CS5

12
Запознавање со работна околина на Flash Professional cs3

Работната околина на Flash Professional cs3 е поставена така што е лесна


за користење, и ги имаме на дофат сите потребни алатки за создавање на
графички елементи и нивна анимација. Работната средина можеме да ја видиме
на Слика 1, а во неа спаѓаат:

 Сцена

 Временска рамка

 Алатки

 Панели

 Библиотека

 Својства

Слика 1. Работна околина на Adobe Flash cs3 Professional

13
Сцена

Централниот дел од работната околина претставува сцена (анг. scene), на


сликата 1, тоа е централниот бел квадрат.

Сцената претставува дводимензионален координатен систем со почеток во


горниот лев агол, и нејзините димензии се одредуваат во пиксели. Целиот филм
што се креира може да се организира во повеќе сцени, а моменталната сцена во
која се наогаме можеме да ја видиме во горниот лев агол, под временската рамка
(со ознака “Scene1”).

Временска рамка

Секоја сцена се приклучува на временската рамка (timeline). Таа додава


трета просторна димензија со концептот на слоеви (Lаyers) и временска
компонента, преку фрејмови (frame). Слоевите може да се гледаат како
транспарентни фолии наредени, една врз друга одредувајќи што е "под" а што
"над".

Пример: ако имаме два слоја со некои содржини кои на било кој дел на
сцената се преклопуваат, на преклопениот дел ќе биде видлива содржината на
горниот слој, бидејќи тој е "над" долниот.

Концептот фрејм (Frame) е познат од филмската терминологија, а


представува состојба во некој моментот.

Слика 2. Временска рамка со слоеви и фрејмови

14
Алатки

За работа во филмот, сцената, и фрејмовите се користат


разни алатки од кутијата со алатки (лево Слика 3), која е поделена
во четири дела:

 визуелно позиционирање,
 алатки за цртање,
 селектори за боја и
 одбрани алатки.

Како и кај останатите програми за работа со векторска


графика и во Flash "стандардни" алатки за цртање се: селектор,
линија, правоаголник, елипса, слободно цртање, гума ... Постојат два
селектори за боја: бојата за линијата (контура) и боја за
пополнување контури. За пополнување освен основните бои, можат
да бидат избрани и радијални или линеарни нијансирани бои.

Слика 3 Кутија со алатки

Панели
За да видите, промените и да организирате во Flash
филмот се користат панели со команди и опции поврзани со
дадениот тип елементи. Можат да се менуваат симболи, бои,
текст, слики и други елементи на филмот.

На сликата лево (Слика 4) се два панели. Панелите


може да бидат организирани во групи, така што за оваа слика
конкретно се наоѓаат двa панели од кои едниот е за боја
(Color), и моментално активен е (табот Color), исто така имаме
и можност за избор на табот Swatches.

Слика 4 Панели Кај Align панелот, постојат три групи од кои активен е

15
Align, додека имаме моќност за избор и на Info и на Transform.

При изборот на панел тој се поврзува со избраниот елемент сцена, рамка,


итн, и понудува опции кои може да се направат над селектираниот дел.

Библиотека

Цртање графички елементи може да се врши директно на сцената кога


создаваме форми (shapes). Или друг начин е да создадеме симболи. Симболите
се елементи кои може да се користат повеќе пати. Имаат своја временска оска и
се чуваат и организираат во библиотеката (Library).

На сликата 5 (лево) е прикажана библиотеката на


симболите употребени при изработката на “Мултимедијалната
веб страна”. Сликата покажува дека секој симбол има име, и
дека симболите може да се организирани во папки.

Постојат три основни типови на симболи кои се


едитабилни: филмски клип (Movie Clip), копче (Button) и
графика (Graphic). На сликата 5 како Movie Clip е прикажан
“glaven del” и др., а како, Button е прикажано и селектирано
копчето “kopce_poveke”, кои е и прикажано во горниот дел.

Слика 5 Library Симбол од тип копче одговара на настани иницирани од


глувчето - кога покажувачот на глувчето е над симболот копче и
кога копчето од глувчето е притиснато додека курсорот е над симболот.
Затоа временска рамка на симболот копче симбол содржи четири посебни
фрејмови (рамки):

 up - статус на симболот, кога покажувачот на глувчето не е над


симболот,
 over - кога курсорот е над симболот,
 down - покажувачот е над симболот и притиснато е левото копче на
глувчето,

16
 hit - оваа рамка ја одредува површината врз основа на тоа кој симбол
ја одредува вашата состојба.

Графичкиот симбол може да биде анимиран, но неговата временска рамка


се поврзува со сцена (или филмски клип ), така што сите промени по фрејмови
(frame) влијаат и на графичкиот симбол. Така на пример, ако
во некоја точка се запре анимацијата на сцена се запира и анимацијата на сите
инстанци од симболот графика.

Различно однесување во однос на спроведувањето на овој симбол е


симболот филмски клип (MovieClip). Гледајќи на истиот пример, запирањето на
анимацијата на сцената не влијае на однесувањето на инстанците на филмките
клипови поставени на сцената туку напротив, тие продолжуваат по нивната
временска рамка. Покрај тоа, на секоја инстанца кај филмскиот клип може да се
додели уникатно име "instance name", коe потоа се референцира од акциите на
ActionScript .

Својства

Панелот својства прикажан на слика 6 ни дава основни информации, како


што се големина на документот, Publish поставки, позадинска боја, Frame rate, и
др. Освен панелот Propertis (Својства), овде се наоѓаат и групите Filters и
Parametars, од каде според селектираниот дел можеме да задаваме својства кои
ни се нудат.

Слика 6 Панел Својства (Propertis)

17
Доколку некоја од овие панели, алатки, временска рамка не се наоѓа на
работната околина, можеме да ја вклучиме со избирање од менито Window и
селектирање на посакуваниот панел или алатка.

Први чекори во Flash

Ако сте нови во користењето на Flash, користете го "Помош" менито за да


започнете, ќе ви биде од голема помош. Кога ќе го отворите Flash Professional,
вашиот екран ќе биде поделени во секции. Ќе ја видите сцената каде што вашата
графика ќе се појави, временската рамка што кажува колку елементи ќе се појават
на екранот, панелот библиотека каде се сместени сите ваши Flash фајлови,
панелите боја и порамнување, исто така кај некои верзии го има и панелот Actions,
кој ви овозможува да додадете интерактивност во Flash фајлот. На левата страна
од вашиот екран, ќе го видите панелот Алатки која ви овозможува да користите
различни алатки во вашиот Flash документ.

Креирање на Flash фајл

За да креирате нов Flash документ, изберете "File  New " од менито.


Изберете "Flash File (ActionScript 3.0)" и кликнете "OK". Ќе видите "Properties"
панелот на дното на екранот кој ви покажува големината на вашиот екран,
објавува поставувања и информации за вашиот документ.

Пример 1: за да нацртаме квадрат на сцената, избераме "Rectangle Tool"


алатка од алатки панелот. Го држиме притиснато копчето "Shift" од тастатура (за
да создадеме совршен квадрат), и го влечеме глувчето за да направиме квадрат
на сцената.

18
Adobe Flash ви овозможува да го конвертирате било кој објект од Flash
фајлот во симбол. Симболите можат да се користат повеќе пати и заштедуваат
простор.

Пример 2: За претворање на квадратот во симбол, изберете го квадратот со


помош на "Selection Tool" алатката од панелот со алатки и кликнете врз квадратот
за да се обележи, и десен клик со глувчето "Convert to Symbol ", (истото може да
се направи и со избирање на менито “Modify  Convert to Symbol”). Во "Convert to
Symbol" дијалог прозорецот, дајте му на вашиот симбол име и тип и кликнете OK.

Објавување на вашата датотека

Publishing или објавување на вашиот Adobe Flash фајл ви овозможува да го


видите во прелистувачот и да го користите .SWF фајлот поврзан со вашата
програма. За објавување на датотеката, изберете "File  Publish Settings."
штиклирајте ги "HTML" и "Flash" полињата и кликнете "OK".

Зачувување на вашата датотека

Изберете "File  Save As" за да го зачувате вашата Adobe Flash фајл.


Изберете име на вашата датотеката и кликнете "OK". Flash фајлот ќе биде
зачуван како ".FLA" фајл.

ActionScript

ActionScript е објектно-ориентиран јазик првобитно развиен од Macromedia


Inc. (сега во сопственост на Adobe Systems). ActionScript е дијалект на ECMAScript
(Здружението на европските производители на компјутери (ECMA - the European

19
Computers Manufacturers Association, www.ecma.ch ) која составила документ со
наслов ECMA-262 насочен кон стандардизација на јазикот Javascript. ActionScript е
врз основа на спецификацијата на овој документ – http://www.ecma-
international.org/publications/standards/Ecma-262.htm).

Според ова можеме да видиме дека множеството на синтаксата и


семантиката на јазикот е пошироко познат и како JavaScript, и се користи
првенствено за развој на веб-апликации и софтвер насочен кон Adobe Flash Player
платформа, која што се користи на веб страниците во форма на вграден .SWF
фајл. Самиот јазик е со отворен код и со тоа спецификацијата се нуди бесплатно
заедно со компајлерот со отворен код (како дел од Adobe Flex) и виртуелната
машина со отворен код (Mozilla Tamarin).

ActionScript првично бил дизајниран за контрола на едноставни 2Д


векторски анимации направени во Adobe Flash (порано Macromedia Flash). Најпрво
се фокусирал на анимација, раните верзии на Flash содржините неколку
интерактивни карактеристики и на тој начин имале многу ограничена способност
за скриптирање (scripting). Подоцнежните верзии додадале функционалност
дозволувајќи им на веб-базираните игри и богатите интернет апликации стриминг
медиуми (како што се видео и аудио). Денес, ActionScript е погоден за употреба во
некои апликации со база на податоци, во основната роботиката, со Make Controller
Kit комплетот.

Flash MX 2004 година го воведе ActionScript 2.0, програмскиот јазик кој е


многу посоодветен за развој на Flash апликации. Често е можно да заштедите
време преку скриптирање на нешто отколку анимирање на истото, кое обично,
исто така, овозможува повисоко ниво на флексибилност при уредувањето.

Од доаѓањето на Flash Player, 9 alpha (во 2006) издадена е понова верзија


на ActionScript, ActionScript 3.0. ActionScript 3.0 е објектно-ориентиран програмски
јазик кој дозволува многу повеќе контрола и повторна употреба кога правиме
сложени Flash апликации. Оваа верзија на јазикот е наменета да се компајлира и
работи на верзија на ActionScript виртуелната машина која е целосно изменета со

20
нов код од темел (наречена AVM2).6 Поради ова, кодот напишан во ActionScript 3.0
е генерално наменет за Flash Player 9 и поновите верзии и нема да работи во
претходните верзии. Во исто време, ActionScript 3,0 се извршува до 10 пати
побрзо од наследениот ActionScript код.

Flash библиотеките може да се користат со XML способности за да


направат богата содржина во прелистувачот. Оваа технологија е позната како
Асинхрон Flash и XML, слично како AJAX.

Adobe го понуди и својот Flex производ за да се задоволи побарувачката за


богати интернет апликации изградени врз Flash runtime, со однесување и
програмирање направено во ActionScript. ActionScript 3,0 e основа на Flex 2 API.

Историја

Action Script започнал како објектно-ориентиран јазик за Flash Macromedia,


сега развиен од Adobe Systems како Adobe Flash. Првите три верзии на Flash
алатката обезбедувале ограничени интерактивни карактеристики. Раните Flash
програмери можеле да закачат едноставна команда, наречена "action", (на
копчето или рамката). Множество на акции било основни контроли за навигација,
со команди како што се "play", "Stop", "getURL" и "gotoAndPlay".

Со пуштањето на Flash 4 во 1999 година, овој едноставен збир на акции


станал еден мал скриптен јазик. Нови можности биле воведени со Flash 4, биле
вклучени варијабли, изрази, оператори, if разгранувања, и циклуси (loop). Иако
наведен внатрешно како "ActionScript", упатството и маркетинг документите на
Flash 4 продолжиле да го користат терминот "actions" за да се опише ова
множество на команди.

6
Brimelow, Lee (2008-08-18). "Six reasons to use ActionScript 3.0". Adobe Systems Incorporated. Retrieved 2010-06-18.

21
Хронологија според верзијата на Flash Player

 Flash Player 2: Првата верзија со scripting поддршка. Вклучени акции


gotoAndPlay, gotoAndStop, nextFrame nextScene за контрола на временската
рамка(timeline).
 Flash Player, 3: Проширена основната scripting поддршка со можност да се
вчита надворешен SWFs (loadMovie).
 Flash Player 4: првиот player со целосна scripting имплементација (нареченa
Actions). Скриптирањето било базирано на Flash синтакса и содржело
поддршка за циклуси, услови, променливи и други основни конструктори на
јазикот.
 Flash Player, 5: Вклучена првата верзија на ActionScript. Користи прототип-
базирано програмирање врз основа на ECMAScript, и е дозволено целосно
процедурално програмирање и објектно-ориентираното програмирање.
 Flash Player 6: Додаден event handling модел, контроли за пристапност и
Switch подршка. Првата верзија со поддршка за AMF и RTMP протоколи кои
овозможуваат побарувачката на аудио / видео стриминг.
 Flash Player 7: дополнувањата вклучуваат CSS обликување за текст и
поддршка за ActionScript 2.0, програмски јазик врз основа на ECMAScript 4
Netscape Proporsal со класа базирана на наследување.
 Flash Player 8: Дополнителнo продолжен ActionScript 1/ActionScript 2 со
додавање на нова класа Libraries со API за контролирање на bitmap
податоци во run-time, прикачувања на фајлови, филтри за blur заматенос и
dropshadow.
 Flash Player, 9 (првично наречен 8.5): Додаден ActionScript 3,0 со нова
виртуелна машина, наречена AVM2 (ActionScript Virtual Machine 2), која
коегзистира со претходните AVM1 потребни за поддршка на наследената
содржина. Зголемување на перформансите била главна цел за ова издание
на player-от вклучувајќи го и новиот JIT компајлер. Поддршка за бинарни
сокети, E4X XML парсирање, full screen мод и регуларни изрази биле

22
додадени. Ова е прво издание на player-от да биде насловен Adobe Flash
Player.
 Flash Player 10 (првично наречен Astro): додадена основна 3D манипулација
како што се врти на X, Y и Z оската, 3D цртање API и мапирање na текстура.
Способност да се креира сопствени филтри со користење на Adobe Pixel
Bender. Визуелната обработка на задачи сега е offloaded на графичкиот
процесор кој дава забележително намалување на времето за рендерирање
за секоја рамка, особено со H.264 видео. Има нов звук API, што овозможува
сопствено создавање на аудио во Flash, нешто што никогаш не било можно
порано. Исто така, Flash Player 10 поддржува Peer to Peer (P2P)
комуникација со Real Time Media Flow Protocol (RTMFP).
 Flash Player 11: Главниот додаток во оваа верзија се напредни (забрзана
графика) 3D способности. Други карактеристики вклучуваат H.264
енкодирање за камери, JSON поддршка, Cubic Bezier Curves, сигурен
генератор на случаен број, LZMA компресија за .SWF датотеки, како и некои
други помали додатоци.

Хронологија на верзиите на ActionScript

ActionScript 1.0

ActionScript "1.0" – (2000-2003): Со пуштањето на Flash 5 во септември 2000


година, "Actions" од Flash 4 биле подобрени уште еднаш и го добиле името
"ActionScript" за прв пат. Ова била првата верзија на ActionScript со влијанија од
Javascript-и ECMA-262 (трето издание) стандардот, ActionScript го поддржувал
објектниот стандарден модел и многу од неговите основни типови на податоци.

Локалните променливи се прогласувале со var statement, а корисничкo


дефинираните функции со параметар што враќале вредности можело да се
креираат. Имено, ActionScript можел,да се напише со уредувач на текст, наместо
да се состави со избирање на акции од паѓачката листа и контроли од дијалог

23
прозорецот. Со следното издание на алатка Flash MX, и соодветниот player, Flash
Player 6, јазикот останал непроменет, имало само мали промени, како што биле
додавање на “switch statement” и " strict equality" (===) оператор, кој бил блиску да
биде ECMA-262-компатибилен. Две важни карактеристики на ActionScript по кои
тој се разликувал од подоцнежните верзии се неговиот “loose type system” и
неговата зависност од прототип-базиранo наследство. Loose typing се однесува на
способноста на променливата да одржи било кој тип на податоци. Ова им
овозможува брз развој на сценарио и е особено добро прилагоденo за мали
scripting проекти. Прототип-базиранo наследство е механизам на ActionScript 1,0
за повторна употреба на кодот и објектно-ориентираното програмирање. Наместо
class keyword, кој ги дефинира заедничките карактеристики на класа, ActionScript
1,0 користи посебен објект што служи како "прототип" за класа на објекти. Сите
заеднички карактеристики на една класа се дефинирани во “прототип” класата и
секоја инстанца од таа класа содржи линк до тој “прототип” објект.

ActionScript 2.0

ActionScript “2,0” – (2003-2006): Следнaтa голема ревизија на јазикот,


ActionScript 2.0, e воведен во септември 2003 година со пуштањето на Flash MX
2004 година и соодветниот player, Flash Player 7.

ActionScript 2,0 е како одговор на побарувачката на корисниците за подобар,


опремен јазик за поголеми и посложени апликации. ActionScript 2,0 е опремен со
проверка на времето на компајлирање и синтакса базирана на класа, како што се
keywords class. (Иако ова е дозволено за структурирано објектно-ориентираното
програмирање, кодот сепак ќе се компајлира во ActionScript 1.0 bytecode,
дозволувајќи да се користи на претходниот Flash Player 6. Со други зборови,
синтаксата базирана на наследување на класа е слој на врвот на постоечкиот
прототип-базиран систем.) Со ActionScript 2.0, програмерите може да
конструираат променливи за посебен вид со додавање на еден вид анотација,
така што грешки може да се најдат при компајлирање. ActionScript 2,0 исто така,

24
воведе синтакса на класа базирана на наследството, така што програмерите може
да создадат класи и интерфејси, како што тие би создале во јазици базирани на
класи како Java и C + +.

Оваа верзија делумно одговара на спецификацијата на ECMAScript четврто


издание.

ActionScript 3,0

ActionScript 3,0 – (2006-денес): Во јуни 2006 година, ActionScript 3,0


дебитираше со Adobe Flex 2.0 и соодветниот player, Flash Player, 9.

ActionScript 3,0 е фундаментална реструкција на јазикот, толку многу што


користи сосема поинаква виртуелна машина. Flash Player 9, содржи две виртуелни
машини, AVM1 за кодот напишан во ActionScript 1.0 и 2.0, а AVM2 за содржина
напишана во ActionScript 3.0. ActionScript 3.0 додаде ограничена поддршка за
хардверско забрзување (DirectX, OpenGL).

Ажурирањето на јазикот воведе неколку нови функции:

 Времето на компајлирање и run-time проверка на тип, информации за типот


постојат и во времето на компајлирање и runtime.
 Подобрени перформанси од системската класа базирана на наследување,
одделена од прототип-базираниот систем на наследување.
 Поддршка за пакети, и регуларни изрази.
 Компајлирање на сосема нов тип на bytecode, некомпатибилен со
ActionScript 1.0 и 2.0 bytecode.
 Ревидиран Flash Player API, организиран во пакети.
 Унифициран event handling систем базиран на DOM стандард.
 Интеграција на ECMAScript за XML (E4X) за целите на XML процесирање.
 Директен пристап до Flash runtime листа за целосна контрола.

25
 Целосно спроведување на четвртото издание на ECMAScript нацрт
спецификацијата.
 Ограничена поддршка за динамични 3D објекти. (X, Y, Z ротација и текст
мапирање).

Flash Lite

 Flash Lite 1.0: Flash Lite е Flash технологијата специјално развиенa за


мобилни телефони и електронски уреди. Поддржува Flash 4 ActionScript.
 Flash Lite 1.1: Flash 4 ActionScript поддршка и дополнителен уред APIs e
додаден.
 Flash Lite 2.0 и 2.1: Додадена поддршка за Flash 7 ActionScript 2,0 и некои
дополнителни fscommand2 API.
 Flash Lite 3: Додадена поддршка за Flash 8 ActionScript 2,0 и FLV видео
репродукција.
 Flash Lite 4: Додадена поддршка за Flash 10 ActionScript 3,0 како plug-in на
интернет пребарувач, и забрзување на хардверот за графика .

Синтаксата на ActionScript

Синтаксата на јазикот дефинира множество на правила кои мора да се


следат кога пишувате извршен код.

Case sensitivity

ActionScript 3.0 е case-sensitive јазик. Пример следниот код ке креира две


различни варијабли:

var num1:int;
var Num1:int;

26
Dot синтакса

Dot операторот (.) обезбедува начин за да се пристапи до својствата и


методите на еден објект(object). Со користење на Dot синтакса, може да се
проследат својства на класа или метод со користење на “instance” име.

Пример, дефиниција на класа:

class DotExample
{
public var prop1:String;
public function method1():void {}

Користејќи dot синтакса, можеме да пристапите до својствата на prop1 и


method1 () метод со користење на “instance” име создадено во следниов код:

var myDotEx:DotExample = new DotExample();


myDotEx.prop1 = "hello";
myDotEx.method1();

Можеме да ја користиме “dot” синтаксата кога дефинираме пакети.


Користиме dot оператор кога се однесува на вгнездени пакети.

На пример, EventDispatcher класа престојува во пакет наречен events кои


се вгнездени во рамките на пакетот наречен flash. Можеме да се повикаме на
events пакетот употребувајќи го следниот израз:

flash.events

27
Исто така може да се повикаме на EventDispatcher класата со користење на
овој израз:

flash.events.EventDispatcher

Литерали (Literals)

Литералите се вредност која се појавува директно во вашиот код. Следниве


примери се сите literals:

17
"hello"
-3
9.4
null
undefined
true
false

Литералите, исто така, може да се групираат за да формираат сложени


литерали во низа. Литералите во низа се пропратени со загради ([]) и користат
запирка за одделување на елементите во низата.
Еден литерал од низата може да се користи за да се иницијализира низа.

Следниве примери покажуваат две низи кои се иницијализирани со користење на


литерали од низа:

// Use new statement.


var myStrings:Array = new Array(["alpha", "beta", "gamma"]);
var myNums:Array = new Array([1,2,3,5,8]);

// Assign literal directly.


var myStrings:Array = ["alpha", "beta", "gamma"];
var myNums:Array = [1,2,3,5,8];

28
Литералите, исто така, може да се користат за да се иницијализира
генерички објект. Генерички објект е инстанца на класата Object. Object
литералите се пропратени со големи загради ({}) и користат запирка за
одделување на својствата на објектот. Секое својство е декларирано со две точки
(:), кои го делат името на својството од вредноста на својството.

Може да се креира генерички објект со помош на новата наредба, и да го


предадeтe Оbject литералот како параметар до конструкторот на класата Object
или можете да го доделите директно на инстанцата што ја декларирате.

Следниот пример покажува двa алтернативни начини да се создаде нов


генерички објект и да се иницијализира објектот со три својства (propA, propB и
propC), секоe со вредности поставени на 1, 2 и 3 :

// Use new statement and add properties.


var myObject:Object = new Object();
myObject.propA = 1;
myObject.propB = 2;
myObject.propC = 3;

// Assign literal directly.


var myObject:Object = {propA:1, propB:2, propC:3};

Точка-запирка (;)

Точка - запирка (;) се користи за запирање на наредбата. Алтернативно,


ако се изостави точка запирка, компајлерот ќе си претпостави дека секоја линија
од кодот претставува една наредба. Многу програмери се навикнати на користење
на точка-запирка за да се означи крајот на една наредбата, исто така кодот може
да биде многу полесен за читање, ако се користи точка и запирка за да се
прекине наредбата. Користење на точка и запирка за запирање на наредбата
овозможува да се постави повеќе од една наредба на една линија, но ова може да
го направи кодот потежок за читање.

29
Коментари

ActionScript 3.0 подржува два вида на коментари: коментар на една линија,


и коментар на повеке линии. Овој механизам на коментари е сличен како
механизмот кај C++ и Java. Компајлерот ќе го игнорира целиот текст кој е
обележан како коментар.

Коментарот на една линија започнува со две коси линии (//) и продолжува


до крајот на линијата. Пример:

var someNumber:Number = 3; // komentar na edna linija

Коментарот на повеќе линии започнува со коса црта и звездичка (/*) и


завршува со звездичка и коса црта(*/). Пример:

/* komentar koj zafaka poveke


od edna linija. */

Константи

ActionScript 3,0 поддржува “const” наредби, кои можете да го користите за


создавање константи. Константи се својства со фиксна вредност, кои не може да
бидат променети. Можете да доделите вредност на константа само еднаш, и
доделувањето мора да се случи во близина на декларацијата на константата. На
пример, ако константатa е декларирана како член на класа, можете да доделите
вредност на таа константна само како дел од декларацијата или во внатрешноста
на конструкторот на класата.

Следниов код декларира две константи. Првата константа, MINIMUM, има


вредност доделена како дел од декларацијата на наредбата. Втората константа,
MAXIMUM, има вредност доделена во конструкторот.

30
class A
{
public const MINIMUM:int = 0;
public const MAXIMUM:int;

public function A()


{
MAXIMUM = 10;
}
}

var a:A = new A();


trace(a.MINIMUM); // 0
trace(a.MAXIMUM); // 10

Грешка ќе се јави ако се обидеме да доделиме иницијална вредност на


константа на било кој друг начин. На пример, ако се обидеме да поставиме
почетната вредност MAXIMUM надвор од класата, run-time грешка ќе се случи.

class A
{
public const MINIMUM:int = 0;
public const MAXIMUM:int;
}

var a:A = new A();


a["MAXIMUM"] = 10; // run-time error

ActionScript 3,0 дефинира широк спектар на константи за употреба. Според


конвенцијата, константите во ActionScript користат големи букви, со зборови
разделени со долна црта (_).

31
На пример, дефиницијата на класата MouseEvent го користи овој метод на
именување за константи, од кои секоја претставува настан поврзан со влезот на
глувчето7

package flash.events
{
public class MouseEvent extends Event
{
public static const CLICK:String = "click";
public static const DOUBLE_CLICK:String = "doubleClick";
public static const MOUSE_DOWN:String = "mouseDown";
public static const MOUSE_MOVE:String = "mouseMove";
...
}
}

Типови на податоци

ActionScript 3 податочни типови

 Boolean – Boolean податочниот тип има само две можни вредности: true и
false, нема друг валидни вредности.
 Int – int податочниот тип е 32 битен број помеѓу -2,147,483,648 и
2,147,483,648
 Null – null податочниот тип содржи само една вредност, нула. Ова е
стандардна вредност за String податочен тип и сите класи кои дефинираат
комплексни податочни типови, вклучувајќи и Object класи.
 Number – number податочниот тип претставува integers, unsigned integers,
and floating-point броеви. Number податочниот тип користи 64 битен double-
precision формат специфициран од страна на IEEE стандардот за Binary
Floating-Point Arithmetic (IEEE-754). Вредности помеѓу 9,007,199,254,740,992
(-253) до 9,007,199,254,740,992 (253) можат да се чуваат.
7
http://help.adobe.com/en_US/ActionScript/3.0_ProgrammingAS3_Flex/WS5b3ccc516d4fbf351e63e3d118a9b90204-7f9b.html

32
 String – string податочниот тип претставува секвенца од 16 битни
карактери. String-от се чува внатрешно како Unicode карактери, користејќи
го UTF-16 форматот. Претходните верзии на Flash го користеа UTF-8
форматот.
 Uint - uint (Unsigned Integer) податочниот тип е 32 битен unsigned integer
помеѓу 0 и 4,294,967,295.
 Void – void податочниот тип содржи само една вредност, undefined. Во
претходните верзии на ActionScript, undefined е стандардна вредностза
инстанци од Object класата. Во ActionScript 3.0 стандардна вредност за
Object инстанци е нула.8

ActionScript 3 комплексни типови на податоци

 Object – object податочниот тип е дефиниран од Object класата. Object


класата служи како основа за сите дефиниции на класи во ActionScript.
Object во својата основна форма можат да се користат какоасоцијативни
низи каде се содржат парови од клучни вредност(key-value pairs), каде
клучевите се String а вредностите можат да бидат било кој тип.
 Array – содржи листа на податоци, содржината на низите може да биде од
било кој тип и вредности, коимора да се вратат назад во оригинален тип по
пронаоѓањето.
 Vector - варијанта на низа поддржана само кога објавување се врши на
Flash Player 10 или погоре. Векторите се напишани, густи низи (вредностите
мора да бидат дефинирани или нула), кои може да бидат со фиксна
должина.
 Date - date object содржи датум / време за дигитална репрезентација.

http://livedocs.adobe.com/flash/9.0/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00000047.html

33
 flash.utils:Dictionary – Dictionaries е варијанта од Object која може да
содржи клучеви од било кој податочен тип(Оbject секогаш користи strings за
неговите клучеви).

Други комплексни типови на податоци

 flash.display:Spriteflash.display:MovieClip
 flash.display:Bitmap
 flash.display:Shape
 flash.utils:ByteArray
 flash.text:TextField
 flash.display:SimpleButton
 Error
 Function
 RegExp
 flash.media:Video
 XML
 XMLList

Користење на податочни типови

Основната синтакса е:

var yourVariableName:YourVariableType = new YourVariableType(Param1, Param2, ...,


ParamN);

Ако сакаме да се направи празен објект:

var myObject:Object = new Object();

Или, на неформален начин:

var myObject = {};

34
Некои типови автоматски се ставaат во место:

var myString:String = "Hello Wikipedia!"; // ова автоматски ќе ја намести варијаблата


како string.

var myNumber:Number = 5; // ова ке го направи истото за number.

var myObject:Object = {Param1:"Hi!", Param2:76}; //ова креира object со две варијабли.


// Param1 е string со податок "Hi!",
// и Param2 е number со податок 76.

var myArray:Array = [5,"Hello!",{a:5, b:7}]; //ова е синтакса за автоматско креирање на


Array.
//Креира Низа (Array) со 3 варијабли.
//Првата (0) е number со вредност 5,
//Втората (1) е string со вредност "Hello!",
//и третата (2е object е {a:5, b:7}.

Заштита на кодот

Како и кај сите јазици со компајлирани кодови, како што се Flash и Microsoft
.NET, откако ќе биде зачуван .SWF фајлот локално, тој може да биде
декомпајлиран во својот изворен код и основни средства. Некои декомпајлери се
способни за речиси целосна реконструкција на фајлот многу блиску до
оригиналниот изворен код, сведувајќи се на вистинскиот код кој бил користен за
време на создавањето (иако резултатите се разликуваат од случај до случај).

Спротивно на декомпајлерите, ActionScript “збунувачите” се воведени за


решавање на овој проблем, “збунувачите” го трансформираат кодот во форма која
е неразбирлива за излезот на декомпајлерот, додека ја зачувува
функционалноста и структурата на програмата.

За повисок квалитет “збунувачите” имплементираат лексички


трансформации како:

35
 преименување на идентификатор,
 трансформација на контролата на проток,
 трансформација на податоци и др.

Сите заедно колективно прават екстремно тешко декомпајлерите да


генерираат излезен код кој ќе биде разбирлив за човекот. Помалку силните
“збунувачи” вметнуваат замки за декомпајлерите, односно предизвикуваат
ненадеен пад на софтверот на декомпајлерот, или генерираат неразбирлив
изворен код.

Следниве кодови се примери на ActionScript 3.0 генерирани од програмата


декомпајлер пред и по “збунувањето”.

Код пред “збунувањето”

private function getNeighbours(i:int, j:int):Array{


var a:Array = new Array();
for (var k = 0; k < 8; k++){
var ni = i + int(neighbour_map[k][0]);
var nj = j + int(neighbour_map[k][1]) ;
if (ni < 0 || ni >= xsize || nj < 0 || nj >= ysize)
continue;
a.push(Cell(cells[ni][nj]));
}
return a;
}

Код после “збунувањето”

private function getNeighbours(_arg1:int, _arg2:int):Array{


var _local3:Array = -(((null - !NULL!) % ~(undefined)));
var _local4:*;
var _local5:*;
var _local6:*;

36
_local3 = new Array();
_local4 = 0;
for (;//unresolved jump
, _arg2 < 8;_local4++) {
_local5 = (_arg1 + int(!NULL!));
_local6 = (_arg2 + int(!NULL!));
if (true){
_arg1 = (((//unresolved nextvalue or nextname << !NULL!) + !NULL!)
<< undefined);
_arg1 = (!(!NULL!) ^ !NULL!);
(!NULL! instanceof !NULL!);
var _local1 = (((!NULL! as !NULL!) + !NULL!) == this);
if (!(!NULL! == !NULL!)){
-((true << !NULL!)).push(Cell(cells[_local5][_local6]));
}
}
if (!true){
(_local6 < 0);
(_local6 < 0);
(_local5 < 0);
}
}
return (_local3);
}

37
Мултимедијална веб страна

Целата веб страница е направена во Adobe Flash Professional cs3 и


користен е скриптниот јазик ActionScript 3.0. Со цел да се добие добар визуелен
изглед користено е различни анимации, банери, копчиња и други визуелни ефекти
кои ќе бидат објаснети подолу. Страната е со димензии 1000x900 пиксели,
позадинска црна боја, користи Flash Player 9, и е со брзина од 30 фрејма во
секунда (30fps).

Вчитување на страната (Preloader)

Прелоадерот е направен од позадинска слика, на која е исцртано логото на


сликата, а која се наоѓа во првиот слој (Layer) и во првиот фрејм. Под сликата се
наоѓа текст поле кое е динамичко. И динамичкото поле и сликата со логото се
“маскирани” со маска. Маска претставува обичен правоаголник направен со
алатката “Rectangle tool” кој е конвертиран во “movieclip” и му е зададено “instance
name” според кое име подоцна ActionScript кодот ја придвижува, се открива логото
а во динамичкото текст поле се испишуваат процентуално колку е вчитана
страната.

Користен код кај прелоадерот :

stop();

var loaded:Number;
var percent:Number;
maska_mc.addEventListener( Event.ENTER_FRAME, load_progress );

function load_progress(e:Event):void
{
loaded = stage.loaderInfo.bytesLoaded / stage.loaderInfo.bytesTotal;
percent = Math.round(loaded * 100);

maska_mc.scaleY = loaded;
loader_info.text = "Страната се вчитува... " + percent + "%";

if( percent == 100 )


{

38
maska_mc.removeEventListener( Event.ENTER_FRAME, load_progress );
play();
}
}

Слика 8. Временска рамка кај прелоадер со слоеви

Слика9. Вчитување на страната

Вовед на страната (intro)

Воведот е направен без користење на код, односно само со анимација по


фрејмови. Анимацијата е направена така што се користени повеќе точки,
стационирани во фрејмови наречени “keyframe” и помеѓу нив е користено
движење “Tween Motion”. На сликата 10 е претставена временската рамка со
слоеви и сцената на воведот. Од ActionScript код користено е само команди
“play();” и ”stop(); ”

39
Слика 10 визуелен изглед на временскара рамка со фрејмови и сцена кај вовед

Дизајн на целата страна

Дизајнот на целата страна е претставен на сликата 11, која можете да ја


видите подолу. Целата страна е поделена е во повеќе делови најгоре се наоѓа
банер со слики кои се менуваат на одредено време, под него се наоѓа менито кое
е паѓачко со што имаме можност за повеќе избор.

Веднаш под менито е делот наменет за содржината на страните, каде што


страните се вчитуваат според различни транзиции зададени со ActionScript код.

Веднаш под страните се наога footer-от на страната каде се наоѓаат


копчиња за следење на facebook и twitter, исто така се наоѓа и текст во кој се
испишани авторските права кој воедно е конвертиран во “Button” и води до
страната на Факултетот за Информатика – Штип.

40
Десно горе се наоѓа MP3 Player кој е доста интересен од визуелен аспект.
Панелот новости се наоѓа веднаш под MP3 Player-от, а веднаш под него пак се
наоѓаат линкови кои водат до надворешни страни.

И на крај бројачот на посети е стациониран десно долу. Сите делови ќе го


објасниме посебно

Слика 11. Визуелен изглед на целата страна

41
Банер со слики

Банерот со слики е сместен најгоре лево, направен е од повеќе слики кои


на одредено време се менуваат. За изработката на банерот не е користен
ActionScript код туку исто како кај воведниот ден користени се слики кои се
сместени во повеќе фрејмови, на кои е додадено движење “MotionTween” и притоа
на секоја слика на почетокот и крајот е зададено својство “alpha” од 0 до 100%.

Својството “alpha” претставува својство кое ни дозволува одреден елемент


помеѓу зададени фрејмови “keyframes” да до го прикажеме со видливост од 0 до
100 % и обратно.

Паѓачко Мени

Менито при изработката на оваа мултимедијална веб страна е направено паѓачко


(dropdown) со што имаме поголем избор на содржини.

Слика 11. Мени заедно со слоеви и фрејмови

42
За изработката користени се повеке слоеви, и фрејмови според тоа колку
имаме основни копчиња, на наједноставен начин кажано со движењето на
глувчето врз менито ние ја придвижуваме “маската” со што ни станува видливо
само тоа поле и ни станува активно, по поместувањето на глувчето маската се
враќа со тоа и самото мени е невидливо.

Код користен при креирањето на менито:

function main1Over(event:MouseEvent):void {
gotoAndPlay("down1");
}
function main2Over(event:MouseEvent):void {
gotoAndPlay("down2");
}
function main3Over(event:MouseEvent):void {
gotoAndPlay("down3");
}
function main4Over(event:MouseEvent):void {
gotoAndPlay("down4");
}
function main5Over(event:MouseEvent):void {
gotoAndPlay("down5");
}
function main6Over(event:MouseEvent):void {
gotoAndPlay("down6");
}
function main7Over(event:MouseEvent):void {
gotoAndPlay("down7");
}

mainBtn1.addEventListener(MouseEvent.ROLL_OVER, main1Over);
mainBtn2.addEventListener(MouseEvent.ROLL_OVER, main2Over);
mainBtn3.addEventListener(MouseEvent.ROLL_OVER, main3Over);
mainBtn4.addEventListener(MouseEvent.ROLL_OVER, main4Over);
mainBtn5.addEventListener(MouseEvent.ROLL_OVER, main5Over);
mainBtn6.addEventListener(MouseEvent.ROLL_OVER, main6Over);
mainBtn7.addEventListener(MouseEvent.ROLL_OVER, main7Over);

Страни

Страните се направени со алатката “Rectangle Primitive” која е слична како


“Rectangle tool” само што оваа дозволува некои доподлнителни функции како што
е заеблување на страните, нема граница и слични работи.

43
Откако се креира правоаголник со “Rectangle Primitive” тој се конвертира во
“MovieClip” но не му се задава “instance name” како кај другите “MovieClip”-ови туку
се штиклира полето “Export for ActionScript” од Symbol Propertis со што е спремна
за транзиција од ActionScript кодот.

Слика 12. Symbol Propertis

Дополнително ако имаме повеќе текст кој не можеме да го собереме на


страната можеме да користиме и хоризонтален лизгач (Scrollbar).

При изработката на веб страната користено е лизгач кој е направен според


содржината на страната, изработен е од една слика која е употребена како лизгач
(Dragger), која се движи врз лента за движење на него (Scrollbar) и заедно се
конвертирани во “MovieClip”, притоа текстот мора да биде конвертиран во
“MovieClip” и да му биде зададено “instance name”, фали уште маска која ке ја
прикажува содржината само во делот на страната (кога некој дел е маскиран со
маска, видлив е само тој дел) и ActionScript код кој е повеке математика и е
прикажан подолу:

var rect:Rectangle;
var scrollerMinY:Number = scrollbar_mc.scroller_mc.y;
var contentMaxY:Number = content_mc.y;
var padding:Number = 40;

44
scrollbar_mc.scroller_mc.buttonMode = true;
scrollbar_mc.scroller_mc.addEventListener(MouseEvent.MOUSE_DOWN, dragIt);

function dragIt(e:MouseEvent):void {
rect = new Rectangle(0, 0, 0, 640);
scrollbar_mc.scroller_mc.startDrag(false, rect);
stage.addEventListener(MouseEvent.MOUSE_UP, dropIt);
scrollbar_mc.scroller_mc.addEventListener(Event.ENTER_FRAME, scrollIt);
}

function dropIt(e:MouseEvent):void {
scrollbar_mc.scroller_mc.stopDrag();
scrollbar_mc.scroller_mc.removeEventListener(Event.ENTER_FRAME, scrollIt);
}

function scrollIt(e:Event):void {
var scrollerRange:Number = rect.height;
var contentRange:Number = content_mc.height - mask_mc.height + padding;
var percentage:Number = (scrollbar_mc.scroller_mc.y - scrollerMinY) /
scrollerRange;
var targetY:Number = contentMaxY - percentage * contentRange;
content_mc.y = targetY;
}

Слика 13 Scrollbar

За интеракција помеѓу копчињата и страните постои главен


ActionScript код кој е сместен со најгорниот слој наречен AS 3.0. во прилог е
прикажан дел од кодот за копче “Почетна” и страна 1 :

var p1:page1 = new page1;


mainmenu_mc.mainBtn1.addEventListener(MouseEvent.CLICK, btn1Click);
function btn1Click (event:MouseEvent):void {
var btn1Outro:Tween = new Tween(pageContainer_mc, "y", Strong.easeIn,
pageContainer_mc.y,750, 1, true);
btn1Outro.addEventListener(TweenEvent.MOTION_FINISH, runBtn1Transition);
function runBtn1Transition (event:TweenEvent):void {
pageContainer_mc.removeChildAt(1);
pageContainer_mc.addChild(p1);
var btn1Intro:Tween = new Tween(pageContainer_mc, "y", Strong.easeOut, 1000, 250,
1, true);
}}

45
Од овој код се гледа дека за транзиција на страната се користени
Strong.easeIn и Strong.easeOut по y оската. Strong.easeIn и Strong.easeOut
претставува едноставно движење на страната по y оската односно
горе(Strong.easeOut) и долу (Strong.easeIn).

MP3 player

MP3 player-от е доста интересен визуелно, пред се заради вибрирањето на


звучниците како да се вистински, друг дел што го збогатува се : лентата со
податоци за песната и изведувачот, како и можноста да бираме звукот да го
слушаме само на левиот или на десниот звучник, освен овие делови тука е и
лентата за јачината на звукот преку која можеме да го намалуваме или
зголемуваме, и копчињата со кои можеме да стопираме, префрлуваме на наредна
песна, или да се вратиме на претходната.

Слика 13. MP3 player

46
Панел новости и линкови

Панелот новости и линкови прикажан на слика 14. Е изработен со цел да се


направи панел каде посетителите ќе можат да ги забележат најновите вести,
настани, соопштенија и др. и според нивна желба и
потреба да кликнат на копчето “Прочитај повеќе” кое ке
отвори страна направена специјално за тој настан со
повеќе информации.

Копчето “Прочитај повеќе” е направено со конвертирање


на текстот и сликата во “Button” и преку четирите посебни
фрејмови е изменето, да дава посебен изглед кога сме со
глувчето врз него или кликаме, и исто така со код е
поврзано со страна и при кликањето отвара страна на која
се наоѓаат повеќе информации околу настанот.
Слика 14. Новости и
Линкови

Линкови

На истиот начин како и кај “Новости” се изработени копчиња,


само што овде наместо отварање на страна, копчињата се поврзани со код да
отвараат надворешни линкови во ново јазиче.

Дигитален Часовник

Дигиталниот часовник е направен така што го покажува дигитално


моменталното време(според компјутерот), дополнително е додаден код кој го
покажува моменталниот ден и дата. При изработката направени се само неколку
динамички текст полиња (Dinamic text field) на кои им се зададени “instance name”,
другото е направено со ActionScript код. На сликата 15 е прикажан часовникот.

47
Слика 15. Дигитален часовник

Бројач на посети

Бројачот на посети е направен со цел да ги видиме посетите на страната.


Во делот на Flash и ActionScript направено е само динамичко текст поле со
зададено “instance name” додека другиот дел од работата го врши PHP скрипта.
PhP скриптата користи обична текстуална база на податоци затоа што посетите на
страната не се евидентираат според IP на корисниците. ActionScript кодот ја
повикува “hit_parse_file.php” скриптата која проверува дали “requestCode = " ”е еднаков
на зададениот код од ActionScript, ако е ист ја отвара текстуалната база на
податоци, го зголемува постоечкиот број за еден, и ја враќа новата вредност кај
ActionScript кодот кој ја печати во динамичкото текст поле.

Во прилог е претставен бројачот заедно со ActionScript кодот:

Слика 16. Визуелен приказ на бројачот на посети

ActionScript код:

var variables:URLVariables = new URLVariables();


var varSend:URLRequest = new URLRequest("hit_parse_file.php");
varSend.method = URLRequestMethod.POST;
varSend.data = variables;

var varLoader:URLLoader = new URLLoader;


varLoader.dataFormat = URLLoaderDataFormat.VARIABLES;
varLoader.addEventListener(Event.COMPLETE, completeHandler);

48
variables.requestCode = "add1";

varLoader.load(varSend);

function completeHandler(event:Event):void {

var countVar = event.target.data.phpCountVar;


hitCount_txt.text = countVar;
}

Footer

Footer-от на страната претставува лента, на која се поставени копчињата за


следење на twitter и facebook, исто така овде се наоѓа и текст “Авторски права ” кој
воедно е и конвертиран како “Button” и му е зададен код за да при кликањето води
до веб страната на Факултетот за ИНформатика во Штип.

Слика 17. Footer на страната

Галерија

Копчињата од менито Галерија се направени при кликање, фото и видео


галеријата да ја отвара во нови јазичиња, тоа е така поради тоа што ако се
отворат во истиот таб, при враќањето назад целата страна ќе се превчита
односно ќе почне од почеток.

49
Користени програми

При изработката на оваа мултимедијална веб страна, користени се


програми кои се неопходи за на крајот да излезе се како што е посакувано.

Овде користени програми се :

 Adobe Flash Professional cs 3,


 Adobe Photoshop cs 3,
 Adobe Dreamweaver cs3,
 Xilisoft Video Converter Ultimate.

Целиот филм (Movie), е изработен во Adobe Flash Professional cs 3, Adobe


Photoshop cs 3 е користен за обработка на сите слики кои се користени, Adobe
Dreamweaver cs3 е искористен како текстуален едитор за скриптата Php, и Xilisoft
Video Converter Ultimate е програма со која се обработени видеата што се
користат во видео галеријата.

50
Заклучок

Со читањето на оваа дипломска работа може подобро, да се запознаете со


Adobe Flash, неговата историја, од првите почетоци се до ден денес, исто така ќе
се запознаете со работната околина, која исто така е објаснета, како и со првите
чекори при креирање на Flash фајл.

Освен Adobe Flash ќе се запознаете и со ActionScript јазикот на Flash. Исто


како и со Flash-от ќе се запознаете со неговата историја, неговите верзии на
издавање, синтакса и др.

Преку примерите што се дадени и објаснети многу работи ќе ви станат


појасни, можете да заклучите на кој начин работи Flash-от, кои се неговите
погодности, за што е најдобар, за што “малку” полош.

Исто така ќе видите како ActionScript јазикот комуницира со останатите


јазици, во нашиов случај со јазикот Php, исто така ке забележите од каде доаѓа
неговата најголема сличност со JavaScript.

Иако во светот се помалку има Flash програмери, некои дури имаат и лошо
мислење за Flash-от, сепак Flash-от има свои добри страни, тој сепак е број еден
за анимации, банери и други интерактивни работи, иако со доаѓањето на HTML5
многумина делат мислење дека Flash-от ќе заостане зад него, други мислат дека
Flash-от ќе се развива и секогаш ќе биде пред другите јазици во нештата во кои е
најдобар, а тоа секако е интерактивноста на елементите, анимацијата и др.

51
Користена литература

 http://help.adobe.com/en_US/ActionScript/3.0_ProgrammingAS3_Flex/WS5b3ccc516d4f
bf351e63e3d118a9b90204-7f9b.html
 http://www.adobe.com/products/flash.html
 http://www.adobe.com/devnet/actionscript.html
 http://en.wikipedia.org/wiki/Adobe_Flash_Professional
 http://en.wikipedia.org/wiki/Adobe_Flash

52

You might also like