ActionScript

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2015. július 9-én felülvizsgált verziótól ; az ellenőrzések 23 szerkesztést igényelnek .
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ú .

Történelem

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:

  • gotoAndStop();
  • gotoAndPlay();
  • nextFrame();
  • prevFrame();
  • getURL();
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
  • Eseménymodell hozzáadva
  • kapcsoló
  • Hozzáadott támogatás az AMF és RTMP protokollokhoz.
7
  • Az ECMAScript 4 alapú AS2 megjelenése osztályalapú programozással.
  • CSS -támogatás hozzáadva a szöveghez.
nyolc
  • Új biztonsági szabályok megjelenése.
  • AS1/AS2 szűrő hozzáadása.
  • Egy osztály megjelenése a Bitmap adatok valós idejű megtekintésére.
9
  • Új ECMAScript szkriptmotor, ActionScript Virtual Machine AVM2. Az AVM megtartotta a kompatibilitást, és az AVM2 -n keresztül hozzáadta az ActionScript 3 támogatását .
  • Az XML E4X kiterjesztésének megjelenése .
tíz
  • 3D effektusok
  • Különféle szűrők és effektusok
  • Bővített szövegelrendezés
  • Továbbfejlesztett Rajz API
10.2
  • Javított p2p támogatás , Zajcsökkentés hozzáadva.
tizenegy
  • Alacsony szintű API megjelenése grafikával, USB-eszközökkel
  • 3D gyorsítás
Az ActionScript verziók támogatása:
Nem támogatott AS1 AS1, AS2 AS1, AS2, AS3

Szintaxis

Az ActionScript szintaxis az ECMAScript specifikáción alapul .

ActionScript 2.0

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

ActionScript 3.0

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

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>

Hibakereső

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

Szerkezet

ActionScript 2

Elemi adattípusok
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.
Összetett adattípusok
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ő

ActionScript 3

Elemi adattípusok

(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.
Összetett adattípusok

(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.
Csomagok

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.

Népszerű környezetek

  • Az Adobe Flash  történelmileg az első olyan környezet , amely támogatja az AS-t. A Flash 5-től kezdve volt egy "ACTIONS" panel kód szerkesztési lehetőséggel (AS1). A Flash 6-hoz AS2 jött létre. A Flash 9-től kezdve az AS3 támogatott.
  • Az Adobe Flash Builder  egy fejlesztői környezet RIA -alkalmazások létrehozására asztali és mobileszközökön.
  • A Powerflasher FDT  egy tapasztalt flash-programozók által elismert környezet, amely az eclipse -en  , egy ingyenes IDE-n alapul moduláris, többplatformos alkalmazások fejlesztéséhez.
  • A FlashDevelop  egy C# nyelven írt ingyenes fejlesztői környezet és szerkesztő, amely lehetővé teszi Flash alkalmazások létrehozását Flash IDE, Flex SDK, MTASC vagy haxe használatával.
  • A CodeDrive  egy fejlesztői környezet és szerkesztő, meglehetősen gyors, Microsoft Visual Studio alapú fordítóval.
  • Az SWFTools  egy ingyenes csomag az swf fájlokkal való munkavégzéshez, a csomag tartalmazza az ActionScript 3.0 fordítót (as3compile).

Jegyzetek

  1. RFC 4329 (EcmaScripttel kompatibilis korlát)
  2. Archivált másolat (a hivatkozás nem elérhető) . Letöltve: 2015. július 9. Az eredetiből archiválva : 2017. március 27.. 
  3. Ted Patrick | Vállalkozó, apa és interaktív szoftverfejlesztő Archiválva : 2009. szeptember 30.
  4. Hat érv az ActionScript 3.0 |. használata mellett Adobe fejlesztői kapcsolat . Letöltve: 2009. december 9. Az eredetiből archiválva : 2009. február 10..

Linkek