ActionScript

Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită la 9 iulie 2015; verificările necesită 23 de modificări .
ActionScript
Clasa de limba Orientat pe obiecte , prototip , imperativ , scripting
Aparut in 1998
Autor Harry Grossman
Dezvoltator Macromedia
Eliberare 3.0
Tip sistem puternic , static
Implementări majore Adobe Flash Player , Adobe AIR , Apache Flex
A fost influențat JavaScript , Java
Site-ul web adobe.com/devnet/actions…
ActionScript
tip MIME aplicație/ecmascript [1]
Dezvoltator Macromedia
Ultima lansare
Tip de format limbaj de programare funcțional, limbaj de programare multi-paradigma și limbaj de programare
Site-ul web adobe.com/devnet/actions…

ActionScript este un limbaj de programare  orientat pe obiecte , unul dintre dialectele ECMAScript , care adaugă interactivitate, procesarea datelor și multe altele la conținutul aplicațiilor Flash . ActionScript este executat de o mașină virtuală (ActionScript Virtual Machine), care este parte integrantă a Flash Player. ActionScript este compilat în bytecode , care este inclus în fișierul SWF.

Fișierele SWF sunt executate de Flash Player. Flash Player există ca plug -in pentru un browser web , precum și ca aplicație executabilă autonomă (autonomă). În al doilea caz, este posibil să se creeze fișiere executabile (proiector) atunci când aplicația Flash Player este combinată cu un fișier swf, similar cu SFX .

Cu ActionScript , puteți crea aplicații multimedia interactive, jocuri , site-uri web și multe altele.

ActionScript este un limbaj de programare deschis, specificația sa este disponibilă public pe site-ul Adobe [2] . Compilatorul (ca parte a Apache Flex ) și mașina virtuală open source ( Tamarin ) sunt open source .

Istorie

ActionScript ca limbaj a apărut odată cu lansarea celei de-a 5-a versiuni a Macromedia Flash , care a devenit primul mediu programabil ActionScript. Prima versiune lansată a limbajului a fost numită ActionScript 1.0. Flash Version 6 (MX) a folosit și ActionScript 1.0. În 2004, Macromedia a introdus o nouă versiune de ActionScript 2.0 cu lansarea Flash 7 (MX 2004), care a introdus inferența puternică a tipurilor, precum și programarea bazată pe clasă. Adică au apărut cuvinte cheie noi:

Macromedia a lansat și o modificare a limbajului Flash Lite pentru programarea pe telefoane mobile.

ActionScript 1.0 este un limbaj de programare prototip . Adică implementează pe deplin toate cele trei principii ale programării orientate pe obiecte.

ActionScript 2.0 este un program suplimentar pentru ActionScript 1.0. Verificarea tipului și lucrul cu ierarhia claselor se efectuează în timpul compilării, ceea ce ajunge să genereze un bytecode asemănător ActionScript 1.0.

În 2006, ActionScript 3.0 a fost lansat în mediul de programare Adobe Flex , iar mai târziu în Adobe Flash 9.

ActionScript 3.0 reprezintă o schimbare calitativă în comparație cu ActionScript 2.0, folosește noua mașină virtuală AVM 2.0 și înlocuiește fosta sintaxă formală a clasei cu o programare orientată pe obiecte bazată pe clasă adevărată . ActionScript 3.0 oferă o îmbunătățire a performanței de până la 700x față de ActionScript 1.0/2.0 (aceasta este doar procesarea instrucțiunilor, nu grafică). ActionScript 3.0 vă permite să lucrați cu date binare, cu BitMap (care oferă o creștere semnificativă a performanței: de până la 10.000 de ori). ActionScript 3.0 s-a apropiat ca viteză de limbajele de programare precum Java și C# . Câștigul de performanță se bazează pe traducerea dinamică a codului ( JIT ). Această creștere a performanței este posibilă doar pentru unele tipuri de date și necesită o organizare specială a codului [3] . Cantitatea de cod, de regulă, crește de câteva ori [4] (comparativ cu AS1).

Versiuni de jucător Inovații
2

Au existat „acțiuni”, denumite în continuare:

  • gotoAndStop();
  • gotoAndPlay();
  • nextFrame();
  • prevFrame();
  • getURL();
3 Apariția loadMovie();
patru Prima versiune cu suport complet pentru implementarea scripturilor.
5 Apariția primei versiuni de ActionScript. A fost utilizată programarea prototipului bazată pe ECMAScript și a fost oferit suport complet pentru programarea procedurală și orientată pe obiecte.
6
7
  • Apariția AS2 bazată pe ECMAScript 4 cu programare bazată pe clasă.
  • S-a adăugat suport CSS pentru text.
opt
  • Apariția unor noi reguli de securitate.
  • Adăugarea unui filtru AS1/AS2.
  • Apariția unei clase pentru vizualizarea datelor Bitmap în timp real.
9
  • Noul motor de scripting ECMAScript, ActionScript Virtual Machine AVM2. AVM păstrat pentru compatibilitate, a adăugat suport pentru ActionScript 3 prin AVM2 .
  • Apariția extensiei E4X pentru XML .
zece
  • efecte 3D
  • Diverse filtre și efecte
  • Aspect extins de text
  • API -ul de desen îmbunătățit
10.2
  • S -a îmbunătățit suportul p2p , a fost adăugată reducerea zgomotului.
unsprezece
  • Apariția unui API de nivel scăzut pentru lucrul cu grafică, dispozitive USB
  • Accelerație 3D
Suport pentru versiunile ActionScript:
Nu sunt acceptate AS1 AS1, AS2 AS1, AS2, AS3

Sintaxă

Sintaxa ActionScript se bazează pe specificația ECMAScript .

ActionScript 2.0

Acest cod creează un câmp de text nou la adâncimea (adâncimea) 0, la punctul (0, 0) și dimensiunea de 100 x 100 pixeli. Parametrul texteste egal cu șirul „ Bună ziua, lume ”. Codul trebuie scris în fereastra acțiune - cadru

createTextField ( „salut” , 0 , 0 , 0 , 100 , 100 ); salut . text = "Bună lume!" ;

Un exemplu de clasă scrisă în AS2. Codul trebuie salvat într-un fișier .as separat și localizat în același folder cu sursa .fla a proiectului.

clasa com . exemplu . Greeter extinde MovieClip { public function Greeter () { } public function onLoad () : Void { var txtHello : TextField = this . createTextField ( "txtHello" , 0 , 0 , 0 , 100 , 100 ); txtBună ziua . text = "Bună Ako!" ; } }

ActionScript 3.0

În codul sursă compilat de Adobe Flex SDK (AS 3.0):

pachet { import flash . afisare . Sprite ; import flash . text . TextField ; public class HelloWorld extinde Sprite { public function HelloWorld () { var txtHello : TextField = new TextField (); txtBună ziua . text = "Bună lume!" ; addChild ( txtHello ); } }

MXML

Cod scris în MXML (extensie XML):

<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx= "http://www.adobe.com/2006/mxml" xmlns= "*" layout= "vertical" creationComplete= "initApp()" > <mx:Script> <![CDATA[ public function initApp():void { // Afișează „Bună ziua, lume!” mesaj în „mainTxt”. mainTxt.text = Greeter.sayHello(); } ]]> </mx:Script> <mx:Label id= "title" fontSize = "24" fontStyle= "bold" text= '"Bună ziua, lume!" Exemplu' /> <mx:TextArea id= "mainTxt" width= "250" /> </mx:Application>

Depanator

Un exemplu de depanator. Imprimă pe ecran toate datele care pot fi convertite într-un șir (începând cu AS2):

trace ( "Bună lume!" );

Structura

ActionScript 2

Tipuri de date elementare
Tip de Descriere
Şir Un șir, o matrice de caractere, de exemplu: „Hello, World”
număr Orice valoare numerică, de exemplu: 0, 0,5, 1150
boolean Valoare booleană, poate lua valorile „adevărat” sau „fals”.
Obiect Un obiect. Un exemplu de obiect sunt clasele, metodele, funcțiile, parametrii etc.
Tipuri de date complexe
Tip de Descriere
clip de film Un obiect grafic care conține cadre.
TextField Un câmp de text dinamic sau de intrare.
buton Buton. Este în esență un clip de film cu un comportament predefinit. Constă din 4 cadre: Sus, Peste, Jos și Hit.
Data Un obiect care conține informații despre dată/ora.
matrice Matrice de date.
XML obiect XML
XMLNode Nodul XML
LoadVars Folosit pentru a trimite și primi variabile folosind HTTP POST și HTTP GET
sunet Conține date audio în format .MP3
NetStream Conține date audio în alte formate
NetConnection Permite 2 filme flash să interacționeze în același domeniu (de exemplu, pe desktop sau într-o singură filă de browser)
MovieClipLoader Clasă pentru încărcarea videoclipurilor swf și a imaginilor .jpg .png
EventListener Organizatorul evenimentului

ActionScript 3

Tipuri de date elementare

(vezi documentația Adobe )

Tip de Descriere
boolean Valoare booleană, poate lua valorile „adevărat” sau „fals”.
int valoare numerică întreagă de 32 de biți în intervalul -2 31 până la 2 31 -1.
uint valoare numerică întreagă de 32 de biți în intervalul de la 0 la 2 32 −1.
număr valoare numerică fracționară de 64 de biți în intervalul −263 la 263−1 .
nul zero. Link către void.
Şir Un șir de caractere pe 16 biți. Codificarea este UTF-16.
gol tipul de date cu o valoare este nedefinit. Folosit dacă programatorul dorește să specifice tipul funcției ca „nereturnabil”.
Tipuri de date complexe

(vezi documentația Adobe )

Tip de Descriere
Obiect Un obiect. Clasa cheie a OOP. Este baza tuturor claselor AS3.
matrice O serie de date cu tastare vag. Poate lua orice valoare, de exemplu: ['a', 5, new TextField()]
vector O serie de date puternic tastate. De exemplu, matricea Vector.<String> poate conține numai date șir ['a','b',' ']
Data O clasă care conține informații despre dată/ora.
eroare Clasa care conține erorile.
funcţie Clasa principală. Un exemplu este orice metodă AS3.
RegExp Expresii obisnuite
XML Obiect XML bazat pe E4X (standard ECMA-357)
XMLList Un obiect bazat pe matrice pentru a căuta conținut într-o clasă XML.
Pachete

ActionScript 3.0 (mai precis, Flash Player 9 API - se poate spune biblioteca standard scrisă în C++) constă din peste 700 de clase organizate în următoarele pachete (analogi ale spațiilor de nume în C++):

Pachet Descriere
flash.accesibilitate clase pentru a sprijini accesul la conținut și aplicații Flash.
flash.afisaj principalele clase pe care Flash Player le folosește pentru a afișa o imagine pe ecran.
flash.erori clase de tratare a erorilor utilizate în mod obișnuit.
flash.extern conține clasa ExternalInterface, care este utilizată pentru a comunica cu containerul Flash Player.
flash.filtre clase pentru lucrul cu filtre de imagine raster.
flash.geom clase pentru lucrul cu clase geometrice, cum ar fi puncte, dreptunghiuri și matrice de transformare - pentru a sprijini clasa BitmapData și capacitatea de a stoca în cache imagini.
media flash cursuri pentru lucrul cu multimedia - de exemplu, sunete și video.
flash.net clase pentru trimiterea și primirea de date prin rețea. De exemplu, solicitări URL și Flash Remoting.
flash.tiparire clase pentru imprimarea conținutului unui film Flash.
Flash profiler funcții utilizate pentru depanare și profilare cod.
sistem flash clase de accesare a sistemului la nivel de funcționalitate, precum securitate, conținut multilingv etc.
text flash clase pentru lucrul cu textul, formatarea, dimensiunea, stilul și poziția acestuia.
flash.ui clase de interfață cu utilizatorul, cum ar fi clase de mouse și tastatură.
flash.utils clase suplimentare, cum ar fi ByteArray pentru lucrul cu date binare, Timer pentru numărarea intervalelor de timp etc.
flash.xml oferă suport XML și toate funcțiile pentru lucrul cu XML. (Necesar pentru a accepta versiunile AS anterioare)

Există și pachete mx.* , care constau în clase concepute pentru a crea o interfață de aplicație în mediul Flex și pachete fl.* , pentru mediul Flash .

Medii populare

  • Adobe Flash  este din punct de vedere istoric primul mediu care acceptă AS. Începând cu Flash 5, a existat un panou „ACȚIUNI” cu posibilitatea de a edita codul (AS1). Pentru Flash 6, a fost creat AS2. Începând cu Flash 9 a existat suport pentru AS3.
  • Adobe Flash Builder  este un mediu de dezvoltare pentru crearea de aplicații RIA pentru desktop și dispozitive mobile.
  • Powerflasher FDT  este un mediu recunoscut de programatorii flash cu experiență, bazat pe eclipse  , un IDE gratuit pentru dezvoltarea de aplicații modulare multiplatformă.
  • FlashDevelop  este un mediu de dezvoltare și un editor gratuit scris în C# care vă permite să creați aplicații Flash folosind Flash IDE, Flex SDK, MTASC sau haxe.
  • CodeDrive  este un mediu de dezvoltare și un editor cu un compilator destul de rapid bazat pe Microsoft Visual Studio.
  • SWFTools  este un pachet gratuit pentru lucrul cu fișiere swf, pachetul include compilatorul ActionScript 3.0 (as3compile) .

Note

  1. RFC 4329 (limită compatibilă cu EcmaScript)
  2. Copie arhivată (link nu este disponibil) . Preluat la 9 iulie 2015. Arhivat din original la 27 martie 2017. 
  3. Ted Patrick | Antreprenor, tată și dezvoltator de software interactiv Arhivat 30 septembrie 2009.
  4. Şase motive pentru a utiliza ActionScript 3.0 | Adobe Developer Connection . Consultat la 9 decembrie 2009. Arhivat din original pe 10 februarie 2009.

Link -uri