ActionScript

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 9. července 2015; kontroly vyžadují 23 úprav .
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 .

Historie

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:

  • gotoAndStop();
  • gotoAndPlay();
  • nextFrame();
  • prevFrame();
  • getURL();
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
  • Příchod AS2 založeného na ECMAScript 4 s programováním založeným na třídách.
  • Přidána podpora CSS pro text.
osm
  • Vznik nových bezpečnostních pravidel.
  • Přidání filtru AS1/AS2.
  • Vzhled třídy pro zobrazení bitmapových dat v reálném čase.
9
  • Nový skriptovací engine ECMAScript, ActionScript Virtual Machine AVM2. AVM zachován z důvodu kompatibility, přidána podpora pro ActionScript 3 prostřednictvím AVM2 .
  • Vznik rozšíření E4X pro XML .
deset
  • 3D efekty
  • Různé filtry a efekty
  • Rozšířené rozložení textu
  • Vylepšené rozhraní API pro kreslení
10.2
  • Zlepšena podpora p2p , přidána redukce šumu.
jedenáct
  • Vznik nízkoúrovňového API pro práci s grafikou, USB zařízeními
  • 3D akcelerace
Podpora verzí jazyka ActionScript:
Není podporováno AS1 AS1, AS2 AS1, AS2, AS3

Syntaxe

Syntaxe jazyka ActionScript je založena na specifikaci ECMAScript .

ActionScript 2.0

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!" ; } }

ActionScript 3.0

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 ); } }

MXML

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>

Debugger

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!" );

Struktura

ActionScript 2

Základní datové typy
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.
Komplexní datové typy
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

ActionScript 3

Základní datové typy

(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ý".
Komplexní datové typy

(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.
Balíčky

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 .

Populární prostředí

  • Adobe Flash  je historicky první prostředí s podporou AS. Počínaje Flash 5 byl k dispozici panel „AKCE“ s možností úpravy kódu (AS1). Pro Flash 6 byl vytvořen AS2. Počínaje Flash 9 byla podpora pro AS3.
  • Adobe Flash Builder  je vývojové prostředí pro vytváření aplikací RIA pro stolní počítače a mobilní zařízení.
  • Powerflasher FDT  je ​​prostředí uznávané zkušenými flash programátory, založené na eclipse  , bezplatném IDE pro vývoj modulárních multiplatformních aplikací.
  • FlashDevelop  je bezplatné vývojové prostředí a editor napsaný v C#, který vám umožňuje vytvářet aplikace Flash pomocí Flash IDE, Flex SDK, MTASC nebo haxe.
  • CodeDrive  je vývojové prostředí a editor s poměrně rychlým kompilátorem založeným na Microsoft Visual Studio.
  • SWFTools  je bezplatný balíček pro práci se soubory swf, balíček obsahuje kompilátor ActionScript 3.0 (as3compile) .

Poznámky

  1. RFC 4329 (limit kompatibilní s EcmaScript)
  2. Archivovaná kopie (odkaz není dostupný) . Získáno 9. července 2015. Archivováno z originálu dne 27. března 2017. 
  3. Ted Patrick | Podnikatel, otec a vývojář interaktivního softwaru Archivováno 30. září 2009.
  4. Šest důvodů, proč používat jazyk ActionScript 3.0 | Adobe Developer Connection . Získáno 9. prosince 2009. Archivováno z originálu 10. února 2009.

Odkazy