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 .
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:
|
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 |
|
opt |
|
9 | |
zece | |
10.2 |
|
unsprezece |
|
Suport pentru versiunile ActionScript: | |||
---|---|---|---|
Nu sunt acceptate | AS1 | AS1, AS2 | AS1, AS2, AS3 |
Sintaxa ActionScript se bazează pe specificația ECMAScript .
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!" ; } }Î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 ); } }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>Un exemplu de depanator. Imprimă pe ecran toate datele care pot fi convertite într-un șir (începând cu AS2):
trace ( "Bună lume!" );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. |
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 |
(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”. |
(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. |
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 .
ECMAScript | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Dialectele | |||||||||||||
Motoare ( comparație ) | |||||||||||||
Cadre , biblioteci |
| ||||||||||||
oameni | |||||||||||||
Alte |
|
Limbaje de programare | |
---|---|
|