ActionScript | |
---|---|
Jazyková třída | Objektově orientovaný , prototypový , imperativní , skriptovací |
Objevil se v | 1998 |
Autor | Harry Grossman |
Vývojář | Macromedia |
Uvolnění | 3.0 |
Typový systém | silný , statický |
Hlavní implementace | Adobe Flash Player , Adobe AIR , Apache Flex |
Byl ovlivněn | JavaScript , Java |
webová stránka | adobe.com/devnet/actions… |
ActionScript | |
---|---|
MIME typ | aplikace/ecmascript [1] |
Vývojář | Macromedia |
Poslední vydání |
|
Typ formátu | funkční programovací jazyk , multiparadigmatický programovací jazyk a programovací jazyk |
webová stránka | adobe.com/devnet/actions… |
ActionScript je objektově orientovaný programovací jazyk , jeden z dialektů ECMAScript , který přidává interaktivitu, zpracování dat a další k obsahu aplikací Flash . ActionScript je spouštěn virtuálním strojem (ActionScript Virtual Machine), který je nedílnou součástí přehrávače Flash Player. ActionScript je zkompilován do bytecode , který je součástí souboru SWF.
Soubory SWF spouští Flash Player. Flash Player existuje jako zásuvný modul pro webový prohlížeč a také jako samostatná spustitelná aplikace (samostatná). Ve druhém případě je možné vytvořit spustitelné soubory (projektor), když je aplikace Flash Player kombinována se souborem swf, podobně jako SFX .
Pomocí jazyka ActionScript můžete vytvářet interaktivní multimediální aplikace, hry , webové stránky a další.
ActionScript je otevřený programovací jazyk, jeho specifikace je veřejně dostupná na webu Adobe [2] . Kompilátor (jako součást Apache Flex ) a open source virtuální stroj ( Tamarin ) jsou open source .
Jazyk ActionScript se objevil s vydáním 5. verze Macromedia Flash , která se stala prvním programovatelným prostředím ActionScript. První vydaná verze jazyka se jmenovala ActionScript 1.0. Flash verze 6 (MX) také používal ActionScript 1.0. V roce 2004 Macromedia představila novou verzi ActionScriptu 2.0 s vydáním Flash 7 (MX 2004), která zavedla silné odvození typu a také programování založené na třídách. To znamená, že se objevila nová klíčová slova:
Macromedia také vydala modifikaci jazyka Flash Lite pro programování pod mobilními telefony.
ActionScript 1.0 je prototyp programovacího jazyka . To znamená, že plně implementuje všechny tři principy objektově orientovaného programování.
ActionScript 2.0 je doplněk jazyka ActionScript 1.0. Kontrola typu a práce s hierarchií tříd se provádí v době kompilace, která končí generováním bytekódu podobného ActionScriptu 1.0.
V roce 2006 byl vydán ActionScript 3.0 v programovacím prostředí Adobe Flex a později v Adobe Flash 9.
ActionScript 3.0 představuje kvalitativní změnu ve srovnání s ActionScriptem 2.0, používá nový virtuální stroj AVM 2.0 a nahrazuje dřívější formální syntaxi tříd skutečným objektově orientovaným programováním založeným na třídách . ActionScript 3.0 poskytuje až 700x zlepšení výkonu oproti ActionScriptu 1.0/2.0 (toto je pouze zpracování instrukcí, nikoli grafika). ActionScript 3.0 vám umožňuje pracovat s binárními daty pomocí BitMap (která poskytuje významné zvýšení výkonu: až 10 000krát). ActionScript 3.0 se rychlostí přiblížil programovacím jazykům jako Java a C# . Zvýšení výkonu je založeno na dynamickém překladu kódu ( JIT ). Toto zvýšení výkonu je možné pouze u některých datových typů a vyžaduje speciální organizaci kódu [3] . Množství kódu se zpravidla několikanásobně zvyšuje [4] (ve srovnání s AS1).
Verze přehrávače | Inovace |
---|---|
2 |
Proběhly „akce“, dále známé jako:
|
3 | Vzhled funkce loadMovie(); |
čtyři | První verze s plnou podporou implementace skriptování. |
5 | Vzhled první verze jazyka ActionScript. Bylo použito prototypové programování založené na ECMAScriptu a byla zajištěna plná podpora procedurálního a objektově orientovaného programování. |
6 | |
7 |
|
osm |
|
9 | |
deset |
|
10.2 |
|
jedenáct |
|
Podpora verzí jazyka ActionScript: | |||
---|---|---|---|
Není podporováno | AS1 | AS1, AS2 | AS1, AS2, AS3 |
Syntaxe jazyka ActionScript je založena na specifikaci ECMAScript .
Tento kód vytvoří nové textové pole v hloubce (hloubce) 0, v bodě (0, 0) a velikosti 100 x 100 pixelů. Parametr textje roven řetězci " Hello, world ". Kód musí být zapsán v akci okna - rám
createTextField ( "pozdravit" , 0 , 0 , 0 , 100 , 100 ); pozdravit _ text = "Ahoj světe!" ;Příklad třídy napsané v AS2. Kód musí být uložen v samostatném souboru .as a umístěn ve stejné složce jako zdroj .fla projektu.
třída com . příklad . Greeter rozšiřuje MovieClip { public function Greeter () { } public function onLoad () : Void { var txtHello : TextField = this . createTextField ( "txtHello" , 0 , 0 , 0 , 100 , 100 ); txtAhoj . text = "Ahoj Ako!" ; } }Ve zdrojovém kódu kompilovaném pomocí Adobe Flex SDK (AS 3.0):
balíček { importovat flash . zobrazení . Sprite ; importovat flash . text . TextField ; public class HelloWorld extends Sprite { public function HelloWorld () { var txtHello : TextField = new TextField (); txtAhoj . text = "Ahoj světe!" ; addChild ( txtAhoj ); } }Kód napsaný v MXML (přípona XML):
<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx= "http://www.adobe.com/2006/mxml" xmlns= "*" layout= "vertikální" creationComplete= "initApp()" > <mx:Script> <![CDATA[ public function initApp():void { // Vypíše naše "Ahoj, světe!" zprávu do "mainTxt". mainTxt.text = Greeter.sayHello(); } ]]> </mx:Script> <mx:Label id= "title" fontSize= "24" fontStyle= "bold" text= '"Ahoj světe!" Příklad' /> <mx:TextArea id= "mainTxt" width= "250" /> </mx:Aplikace>Příklad debuggeru. Vytiskne výstup na obrazovku všechna data, která lze převést na řetězec (AS2 a novější):
stopa ( "Ahoj světe!" );Typ | Popis |
---|---|
Tětiva | Řetězec, pole znaků, například: „Ahoj, světe“ |
číslo | Jakákoli číselná hodnota, například: 0, 0,5, 1150 |
Boolean | Booleovská hodnota, může nabývat hodnot „true“ nebo „false“. |
Objekt | Objekt. Příkladem objektu jsou třídy, metody, funkce, parametry atd. |
Typ | Popis |
---|---|
filmový klip | Grafický objekt, který obsahuje rámečky. |
Textové pole | Dynamické nebo vstupní textové pole. |
knoflík | Knoflík. Je to v podstatě filmový klip s předdefinovaným chováním. Skládá se ze 4 snímků: Up, Over, Down a Hit. |
datum | Objekt obsahující informace o datu a čase. |
pole | Pole dat. |
XML | XML objekt |
XMLNode | XML uzel |
LoadVars | Používá se k odesílání a přijímání proměnných pomocí HTTP POST a HTTP GET |
zvuk | Obsahuje zvuková data ve formátu .MP3 |
NetStream | Obsahuje zvuková data v jiných formátech |
NetConnection | Umožňuje interakci 2 flash filmů ve stejném rozsahu (například na ploše nebo na jedné kartě prohlížeče) |
MovieClipLoader | Třída pro načítání swf videí a obrázků .jpg .png |
EventListener | Obsluha události |
(viz dokumentace Adobe )
Typ | Popis |
---|---|
Boolean | Booleovská hodnota, může nabývat hodnot „true“ nebo „false“. |
int | celé číslo 32bitová číselná hodnota v rozsahu -2 31 až 2 31 -1. |
uint | celé číslo 32bitová číselná hodnota v rozsahu 0 až 2 32 −1. |
číslo | zlomková 64bitová číselná hodnota v rozsahu −263 až 263−1 . |
nula | nula. Odkaz na neplatnost. |
Tětiva | Řetězec 16bitových znaků. Kódování je UTF-16. |
prázdnota | datový typ s jednou hodnotou není definován. Používá se, pokud chce programátor specifikovat typ funkce jako "nevratný". |
(viz dokumentace Adobe )
Typ | Popis |
---|---|
Objekt | Objekt. Klíčová třída OOP. Je základem všech tříd AS3. |
pole | Pole volně napsaných dat. Může mít libovolnou hodnotu, například: ['a', 5, new TextField()] |
Vektor | Pole silně zadaných dat. Například pole Vector.<String> může obsahovat pouze data řetězce ['a','b',' '] |
datum | Třída obsahující informace o datu/čase. |
chyba | Třída obsahující chyby. |
funkce | Hlavní třída. Příkladem je jakákoli metoda AS3. |
RegExp | Regulární výrazy |
XML | Objekt XML založený na E4X (standard ECMA-357) |
XMLList | Objekt založený na poli pro vyhledávání obsahu ve třídě XML. |
ActionScript 3.0 (konkrétněji rozhraní Flash Player 9 API – lze říci standardní knihovna napsaná v C++) se skládá z více než 700 tříd organizovaných v následujících balíčcích (analogy jmenných prostorů v C++):
Balík | Popis |
---|---|
flash.přístupnost | třídy pro podporu přístupu k obsahu a aplikacím Flash. |
flash.displej | hlavní třídy, které Flash Player používá k zobrazení obrázku na obrazovce. |
flash.chyby | běžně používané třídy zpracování chyb. |
flash.externí | obsahuje třídu ExternalInterface, která se používá ke komunikaci s kontejnerem Flash Player. |
flash.filtry | třídy pro práci s filtry rastrových obrázků. |
flash.geom | třídy pro práci s geometrickými třídami, jako jsou body, obdélníky a transformační matice – pro podporu třídy BitmapData a možnost ukládat obrázky do mezipaměti. |
flash média | třídy pro práci s multimédii – například zvuky a videem. |
flash.net | třídy pro odesílání a přijímání dat po síti. Například požadavky URL a Flash Remoting. |
bleskový.tisk | třídy pro tisk obsahu Flash filmu. |
flash profiler | funkce používané pro ladění a profilování kódu. |
flash.systém | třídy pro přístup do systému na úrovni funkčnosti, jako je zabezpečení, vícejazyčný obsah atp. |
flash text | třídy pro práci s textem, jeho formátování, velikost, styl a umístění. |
flash.ui | třídy uživatelského rozhraní, jako jsou třídy myši a klávesnice. |
flash.utils | další třídy, jako je ByteArray pro práci s binárními daty, Timer pro počítání časových intervalů atd. |
flash.xml | poskytuje podporu XML a všechny funkce pro práci s XML. (Vyžadováno pro podporu předchozích verzí AS) |
Existují také balíčky mx.* , které se skládají z tříd určených k vytvoření aplikačního rozhraní v prostředí Flex a balíčky fl.* pro prostředí Flash .
ECMAScript | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Dialekty |
| ||||||||||||
Motory ( srovnání ) |
| ||||||||||||
Rámce , knihovny |
| ||||||||||||
Lidé | |||||||||||||
jiný |
|
Programovací jazyky | |
---|---|
|