Professional Documents
Culture Documents
Факултет за Информатика
ДИПЛОМСКА РАБОТА
Тема
Мултимедијална веб страна изработена во Flash и ActionScript 3.0
Ментор: Изработил:
Содржина ..................................................................................................................................................... 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
Предговор
4
Вовед
“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 Player има способност да го погледне
.SWF филмот бидејќи тој не зависи од платформата која пристапува до фајлот.
Потоа, сите фонтови кои се потребни за презентација во Flash се вклучени во
документот, така што изгледот не е зависен од фонтовите инсталирани на вашиот
компјутер. Сите графички елементи во Flash-от, вклучувајќи ги и фонтовите, се
векторски опишани, така што е можно намалување на филмот спрема прозорецот
или интернет пребарувачот односно не постои зависност од резолуцијата на
екранот.
1
http://www.pcworld.com/article/256487/adobe_creative_suite_6_taps_more_html5_power.html
5
Векторска графика
Анимација и интеракција
6
Flash
2
"Rich Internet applications". Adobe. Retrieved April 10, 2012.
7
Аdobe Flash изгледа слично на сликарски уредник со алатки за уредување
на сликата и панел со алатки.
Историјата на Flash
Лансирањето на FutureWave
3
"Flash: 99% Bad". Retrieved January 8, 2011.
8
Тој ја основал FutureWave Software во јануари 1993 година, и веднаш го
создал SmartSketch. Оваа програма им овозможила на корисниците да цртаат
електронски на своите компјутери, но имала мал успех, поради нејзиното доцно
влегување на пазарот.
Создавање на Flash
Macromedia
9
Adobe
Денес
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)
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
Сцена
Временска рамка
Алатки
Панели
Библиотека
Својства
13
Сцена
Временска рамка
Пример: ако имаме два слоја со некои содржини кои на било кој дел на
сцената се преклопуваат, на преклопениот дел ќе биде видлива содржината на
горниот слој, бидејќи тој е "над" долниот.
14
Алатки
визуелно позиционирање,
алатки за цртање,
селектори за боја и
одбрани алатки.
Панели
За да видите, промените и да организирате во Flash
филмот се користат панели со команди и опции поврзани со
дадениот тип елементи. Можат да се менуваат симболи, бои,
текст, слики и други елементи на филмот.
Слика 4 Панели Кај Align панелот, постојат три групи од кои активен е
15
Align, додека имаме моќност за избор и на Info и на Transform.
Библиотека
16
hit - оваа рамка ја одредува површината врз основа на тоа кој симбол
ја одредува вашата состојба.
Својства
17
Доколку некоја од овие панели, алатки, временска рамка не се наоѓа на
работната околина, можеме да ја вклучиме со избирање од менито Window и
селектирање на посакуваниот панел или алатка.
18
Adobe Flash ви овозможува да го конвертирате било кој објект од Flash
фајлот во симбол. Симболите можат да се користат повеќе пати и заштедуваат
простор.
ActionScript
19
Computers Manufacturers Association, www.ecma.ch ) која составила документ со
наслов ECMA-262 насочен кон стандардизација на јазикот Javascript. ActionScript е
врз основа на спецификацијата на овој документ – http://www.ecma-
international.org/publications/standards/Ecma-262.htm).
20
нов код од темел (наречена AVM2).6 Поради ова, кодот напишан во ActionScript 3.0
е генерално наменет за Flash Player 9 и поновите верзии и нема да работи во
претходните верзии. Во исто време, ActionScript 3,0 се извршува до 10 пати
побрзо од наследениот ActionScript код.
Историја
6
Brimelow, Lee (2008-08-18). "Six reasons to use ActionScript 3.0". Adobe Systems Incorporated. Retrieved 2010-06-18.
21
Хронологија според верзијата на Flash Player
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 1.0
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
24
воведе синтакса на класа базирана на наследството, така што програмерите може
да создадат класи и интерфејси, како што тие би создале во јазици базирани на
класи како Java и C + +.
ActionScript 3,0
25
Целосно спроведување на четвртото издание на ECMAScript нацрт
спецификацијата.
Ограничена поддршка за динамични 3D објекти. (X, Y, Z ротација и текст
мапирање).
Flash Lite
Синтаксата на ActionScript
Case sensitivity
var num1:int;
var Num1:int;
26
Dot синтакса
class DotExample
{
public var prop1:String;
public function method1():void {}
flash.events
27
Исто така може да се повикаме на EventDispatcher класата со користење на
овој израз:
flash.events.EventDispatcher
Литерали (Literals)
17
"hello"
-3
9.4
null
undefined
true
false
28
Литералите, исто така, може да се користат за да се иницијализира
генерички објект. Генерички објект е инстанца на класата Object. Object
литералите се пропратени со големи загради ({}) и користат запирка за
одделување на својствата на објектот. Секое својство е декларирано со две точки
(:), кои го делат името на својството од вредноста на својството.
Точка-запирка (;)
29
Коментари
Константи
30
class A
{
public const MINIMUM:int = 0;
public const MAXIMUM:int;
class A
{
public const MINIMUM:int = 0;
public const MAXIMUM:int;
}
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";
...
}
}
Типови на податоци
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
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
Основната синтакса е:
34
Некои типови автоматски се ставaат во место:
Заштита на кодот
Како и кај сите јазици со компајлирани кодови, како што се Flash и Microsoft
.NET, откако ќе биде зачуван .SWF фајлот локално, тој може да биде
декомпајлиран во својот изворен код и основни средства. Некои декомпајлери се
способни за речиси целосна реконструкција на фајлот многу блиску до
оригиналниот изворен код, сведувајќи се на вистинскиот код кој бил користен за
време на создавањето (иако резултатите се разликуваат од случај до случај).
35
преименување на идентификатор,
трансформација на контролата на проток,
трансформација на податоци и др.
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
Мултимедијална веб страна
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 + "%";
38
maska_mc.removeEventListener( Event.ENTER_FRAME, load_progress );
play();
}
}
39
Слика 10 визуелен изглед на временскара рамка со фрејмови и сцена кај вовед
40
Десно горе се наоѓа MP3 Player кој е доста интересен од визуелен аспект.
Панелот новости се наоѓа веднаш под MP3 Player-от, а веднаш под него пак се
наоѓаат линкови кои водат до надворешни страни.
41
Банер со слики
Паѓачко Мени
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);
Страни
43
Откако се креира правоаголник со “Rectangle Primitive” тој се конвертира во
“MovieClip” но не му се задава “instance name” како кај другите “MovieClip”-ови туку
се штиклира полето “Export for ActionScript” од Symbol Propertis со што е спремна
за транзиција од 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
45
Од овој код се гледа дека за транзиција на страната се користени
Strong.easeIn и Strong.easeOut по y оската. Strong.easeIn и Strong.easeOut
претставува едноставно движење на страната по y оската односно
горе(Strong.easeOut) и долу (Strong.easeIn).
MP3 player
46
Панел новости и линкови
Линкови
Дигитален Часовник
47
Слика 15. Дигитален часовник
Бројач на посети
ActionScript код:
48
variables.requestCode = "add1";
varLoader.load(varSend);
function completeHandler(event:Event):void {
Footer
Галерија
49
Користени програми
50
Заклучок
Иако во светот се помалку има 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