ActionScript | |
---|---|
Nyelvóra | Objektumorientált , prototípus , kötelező , szkriptelés |
Megjelent | 1998 |
Szerző | Harry Grossman |
Fejlesztő | Macromedia |
Kiadás | 3.0 |
Típusrendszer | erős , statikus |
Főbb megvalósítások | Adobe Flash Player , Adobe AIR , Apache Flex |
Befolyásolva | JavaScript , Java |
Weboldal | adobe.com/devnet/actions… |
ActionScript | |
---|---|
MIME típusú | alkalmazás/ecmascript [1] |
Fejlesztő | Macromedia |
Legutolsó kiadás |
|
Formátum típusa | funkcionális programozási nyelv , többparadigmás programozási nyelv és programozási nyelv |
Weboldal | adobe.com/devnet/actions… |
Az ActionScript egy objektum-orientált programozási nyelv , az ECMAScript dialektusok egyike , amely interaktivitást, adatfeldolgozást és egyebeket ad a Flash - alkalmazások tartalmához. Az ActionScriptet egy virtuális gép (ActionScript Virtual Machine) hajtja végre , amely a Flash Player szerves része. Az ActionScript bájtkódba van fordítva , amely az SWF-fájlban található.
Az SWF-fájlokat a Flash Player hajtja végre. A Flash Player létezik webböngésző beépülő moduljaként , valamint önálló végrehajtható alkalmazásként (önálló). A második esetben lehetőség van futtatható fájlok (projektor) létrehozására, ha a Flash Player alkalmazást egy swf fájllal kombinálják, hasonlóan az SFX -hez .
Az ActionScript segítségével interaktív multimédiás alkalmazásokat, játékokat , webhelyeket és egyebeket hozhat létre.
Az ActionScript egy nyílt programozási nyelv, specifikációja nyilvánosan elérhető az Adobe honlapján [2] . A fordító (az Apache Flex részeként ) és a nyílt forráskódú virtuális gép ( Tamarin ) nyílt forráskódú .
Az ActionScript mint nyelv a Macromedia Flash 5. verziójának kiadásával jelent meg , amely az első ActionScript programozható környezet lett. A nyelv első kiadott verziója az ActionScript 1.0 nevet kapta. A Flash 6 (MX) verziója szintén az ActionScript 1.0-t használta. 2004-ben a Macromedia bemutatta az ActionScript 2.0 új verzióját a Flash 7 (MX 2004) kiadásával, amely erős típuskövetkeztetést, valamint osztályalapú programozást vezetett be. Vagyis új kulcsszavak jelentek meg:
A Macromedia emellett kiadta a Flash Lite nyelv módosítását mobiltelefonok alatti programozáshoz.
Az ActionScript 1.0 egy prototípus programozási nyelv . Azaz teljes mértékben megvalósítja az objektum-orientált programozás mindhárom elvét.
Az ActionScript 2.0 az ActionScript 1.0 kiegészítője. A típusellenőrzés és az osztályhierarchiával való munka a fordítási időben történik, ami az ActionScript 1.0-szerű bájtkód generálásához vezet.
2006-ban az ActionScript 3.0 megjelent az Adobe Flex programozási környezetben , majd később az Adobe Flash 9-ben.
Az ActionScript 3.0 minőségi változást jelent az ActionScript 2.0-hoz képest, az új AVM 2.0 virtuális gépet használja, és a korábbi formális osztályszintaxist valódi osztályalapú objektum-orientált programozásra cseréli . Az ActionScript 3.0 akár 700-szoros teljesítménynövekedést biztosít az ActionScript 1.0/2.0-hoz képest (ez csak utasításfeldolgozás, nem grafika). Az ActionScript 3.0 lehetővé teszi, hogy bináris adatokkal dolgozzon, a BitMap segítségével (amely jelentős teljesítménynövekedést biztosít: akár 10 000-szer). Az ActionScript 3.0 felgyorsult az olyan programozási nyelvekhez, mint a Java és a C# . A teljesítménynövekedés dinamikus kódfordításon ( JIT ) alapul. Ez a teljesítménynövekedés csak bizonyos adattípusoknál lehetséges, és a kód speciális rendszerezését igényli [3] . A kód mennyisége általában többszörösére nő [4] (az AS1-hez képest).
Játékos verziók | Innovációk |
---|---|
2 |
Voltak „műveletek”, a továbbiakban:
|
3 | A loadMovie(); |
négy | Az első verzió a szkriptek megvalósításának teljes támogatásával. |
5 | Az ActionScript első verziójának megjelenése. ECMAScript alapú prototípus-programozást használtak , és teljes mértékben támogatták az eljárási és objektumorientált programozást. |
6 | |
7 |
|
nyolc |
|
9 | |
tíz | |
10.2 |
|
tizenegy |
|
Az ActionScript verziók támogatása: | |||
---|---|---|---|
Nem támogatott | AS1 | AS1, AS2 | AS1, AS2, AS3 |
Az ActionScript szintaxis az ECMAScript specifikáción alapul .
Ez a kód új szövegmezőt hoz létre 0 mélységben (mélységben), a (0, 0) pontban és 100 x 100 pixel méretben. A paraméter textmegegyezik a " Hello, world " karakterlánccal. A kódot az ablakművelet - keretbe kell írni
createTextField ( "üdvözölje" , 0 , 0 , 0 , 100 , 100 ); üdvözöljük . text = "Helló világ!" ;Példa egy AS2-ben írt osztályra. A kódot külön .as fájlba kell menteni, és ugyanabban a mappában kell elhelyezni, mint a projekt .fla forrása.
osztály com . példa . A Greeter kiterjeszti a MovieClip { public function Greeter () { } public function onLoad () : Void { var txtHello : TextField = this . createTextField ( "txtHello" , 0 , 0 , 0 , 100 , 100 ); txt Szia . text = "Szia Ako!" ; } }Az Adobe Flex SDK (AS 3.0) által összeállított forráskódban :
csomag { import flash . kijelző . Sprite ; import flash . szöveget . Szövegmező ; public class HelloWorld expands Sprite { public function HelloWorld () { var txtHello : TextField = new TextField (); txt Szia . text = "Helló világ!" ; addChild ( txtHello ); } }MXML -ben írt kód (XML kiterjesztés):
<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx= "http://www.adobe.com/2006/mxml" xmlns= "*" layout= "függőleges" createComplete = "initApp()" > <mx:Script> <![CDATA[ nyilvános függvény initApp():void { // Kinyomtatja a "Hello, world!" üzenetet a "mainTxt"-be. mainTxt.text = Greeter.sayHello(); } ]]> </mx:Script> <mx:Label id= "title" fontSize= "24" fontStyle= "bold" text= '"Szia, világ!" Példa' /> <mx:TextArea id= "mainTxt" width= "250" /> </mx:Application>Példa a hibakeresőre. Minden olyan adatot kinyomtat a képernyőre, amely karakterláncsá konvertálható (AS2-től kezdve):
nyom ( "Helló világ!" );Típusú | Leírás |
---|---|
Húr | Egy karakterlánc, egy karaktertömb, például: "Hello, World" |
szám | Bármilyen numerikus érték, például: 0, 0,5, 1150 |
Boolean | Logikai érték, felveheti az "igaz" vagy a "hamis" értékeket. |
Tárgy | Egy tárgy. Egy objektum például az osztályok, metódusok, függvények, paraméterek stb. |
Típusú | Leírás |
---|---|
videóklipp | Egy grafikus objektum, amely kereteket tartalmaz. |
Szövegmező | Dinamikus vagy beviteli szövegmező. |
gomb | Gomb. Ez lényegében egy filmklip előre meghatározott viselkedéssel. 4 keretből áll: Fel, Over, Down és Hit. |
Dátum | Dátum/idő információkat tartalmazó objektum. |
sor | Adattömb. |
XML | XML objektum |
XMLNode | XML csomópont |
LoadVars | Változók küldésére és fogadására szolgál HTTP POST és HTTP GET használatával |
hang | .MP3 formátumú audio adatokat tartalmaz |
NetStream | Más formátumú hangadatokat tartalmaz |
NetConnection | Lehetővé teszi, hogy 2 flash-film kölcsönhatásba lépjen ugyanabban a hatókörben (például az asztalon vagy egy böngészőlapon) |
MovieClipLoader | Osztály swf videók és .jpg .png képek betöltésére |
EventListener | Eseménykezelő |
(lásd az Adobe dokumentációját )
Típusú | Leírás |
---|---|
Boolean | Logikai érték, felveheti az "igaz" vagy a "hamis" értékeket. |
int | egész szám 32 bites numerikus érték a -2 31 és 2 31 -1 tartományban. |
uint | egész szám 32 bites numerikus érték a 0 és 2 közötti tartományban 32 −1. |
szám | tört 64 bites számérték a -263 és 263-1 tartományban . |
nulla | nulla. Hivatkozás az érvénytelenséghez. |
Húr | 16 bites karakterlánc. A kódolás UTF-16. |
üres | egy értékű adattípus nem definiált. Akkor használatos, ha a programozó a függvény típusát "nem visszaadható"-ként szeretné megadni. |
(lásd az Adobe dokumentációját )
Típusú | Leírás |
---|---|
Tárgy | Egy tárgy. Az OOP kulcsosztálya. Ez az összes AS3 osztály alapja. |
sor | Lazán beírt adatok tömbje. Bármilyen értéket vehet fel, például: ['a', 5, new TextField()] |
Vektor | Erősen gépelt adatok tömbje. Például a Vector.<String> tömb csak karakterláncadatokat tartalmazhat ['a', 'b',' '] |
Dátum | Dátum/idő információkat tartalmazó osztály. |
hiba | A hibákat tartalmazó osztály. |
funkció | Fő osztály. Példa erre bármely AS3 metódus. |
Regexp | Reguláris kifejezések |
XML | E4X alapú XML objektum (ECMA-357 szabvány) |
XMLlist | Egy tömb alapú objektum XML-osztály tartalom kereséséhez. |
Az ActionScript 3.0 (pontosabban a Flash Player 9 API - mondhatni a C++-ban írt szabványos könyvtár) több mint 700 osztályból áll, amelyek a következő csomagokba vannak rendezve (a névterek analógjai C++-ban):
Csomag | Leírás |
---|---|
flash.akadálymentesség | osztályok a Flash-tartalomhoz és -alkalmazásokhoz való hozzáférés támogatására. |
flash.display | azok a fő osztályok, amelyeket a Flash Player a kép képernyőn való megjelenítéséhez használ. |
flash.hibák | általánosan használt hibakezelési osztályok. |
flash.külső | tartalmazza az ExternalInterface osztályt, amely a Flash Player tárolóval való kommunikációra szolgál. |
flash.szűrők | osztályok a raszteres képszűrőkkel való munkavégzéshez. |
flash.geom | osztályok geometriai osztályokkal, például pontokkal, téglalapokkal és transzformációs mátrixokkal való munkához – a BitmapData osztály támogatására és a képek gyorsítótárazására. |
flash média | osztályok a multimédiával való munkavégzéshez - például hangokkal és videóval. |
flash.net | osztályok az adatok hálózaton keresztüli küldésére és fogadására. Például URL-kérések és Flash Remoting. |
flash.printing | osztályok egy Flash-film tartalmának kinyomtatására. |
flash profilozó | hibakereséshez és profilalkotáshoz használt függvények. |
flash.system | osztályok a rendszer eléréséhez a funkcionalitás szintjén, például biztonság, többnyelvű tartalom stb. |
flash szöveg | osztályok a szöveggel, annak formázásával, méretével, stílusával és pozíciójával való munkához. |
flash.ui | felhasználói felület osztályok, például egér és billentyűzet osztályok. |
flash.utils | további osztályok, például ByteArray a bináris adatokkal való munkavégzéshez, Timer az időintervallumok számlálásához stb. |
flash.xml | XML támogatást és minden funkciót biztosít az XML-lel való munkavégzéshez. (A korábbi AS-verziók támogatásához szükséges) |
Léteznek mx.* csomagok is, amelyek olyan osztályokból állnak, amelyek célja egy alkalmazási felület létrehozása a Flex környezetben és fl.* csomagok a Flash környezet számára.
ECMAScript | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Dialektusok | |||||||||||||
Motorok ( összehasonlítás ) | |||||||||||||
Keretrendszerek , könyvtárak |
| ||||||||||||
Emberek | |||||||||||||
Egyéb |
Programozási nyelvek | |
---|---|
|