ActionScript | |
---|---|
Sprog klasse | Objektorienteret , prototypisk , imperativ , scripting |
Dukkede op i | 1998 |
Forfatter | Harry Grossman |
Udvikler | Macromedia |
Frigøre | 3.0 |
Type system | stærk , statisk |
Større implementeringer | Adobe Flash Player , Adobe AIR , Apache Flex |
Blev påvirket | JavaScript , Java |
Internet side | adobe.com/devnet/actions... |
ActionScript | |
---|---|
MIME -type | applikation/ecmascript [1] |
Udvikler | Macromedia |
Seneste udgivelse | |
Formattype | funktionelt programmeringssprog , multi-paradigme programmeringssprog og programmeringssprog |
Internet side | adobe.com/devnet/actions... |
ActionScript er et objektorienteret programmeringssprog , en af ECMAScript - dialekterne , der tilføjer interaktivitet, databehandling og mere til indholdet af Flash- applikationer. ActionScript udføres af en virtuel maskine (ActionScript Virtual Machine), som er en integreret del af Flash Player. ActionScript er kompileret til bytecode , som er inkluderet i SWF-filen.
SWF-filer udføres af Flash Player. Flash Player eksisterer som et plug -in til en webbrowser såvel som et selvstændigt eksekverbart program (standalone). I det andet tilfælde er det muligt at oprette eksekverbare filer (projektor), når Flash Player-applikationen er kombineret med en swf-fil, der ligner SFX .
Med ActionScript kan du oprette interaktive multimedieapplikationer , spil , websteder og meget mere.
ActionScript er et åbent programmeringssprog, dets specifikationer er offentligt tilgængelige på Adobes websted [2] . Compileren (som en del af Apache Flex ) og den virtuelle open source-maskine ( Tamarin ) er open source .
ActionScript som sprog dukkede op med udgivelsen af den 5. version af Macromedia Flash , som blev det første ActionScript-programmerbare miljø. Den første udgivne version af sproget hed ActionScript 1.0. Flash Version 6 (MX) brugte også ActionScript 1.0. I 2004 introducerede Macromedia en ny version af ActionScript 2.0 med udgivelsen af Flash 7 (MX 2004), som introducerede stærk typeslutning såvel som klassebaseret programmering. Det vil sige, at der dukkede nye søgeord op:
Macromedia udgav også en ændring af Flash Lite-sproget til programmering under mobiltelefoner.
ActionScript 1.0 er et prototype programmeringssprog . Det vil sige, at den fuldt ud implementerer alle tre principper for objektorienteret programmering.
ActionScript 2.0 er en tilføjelse til ActionScript 1.0. Typekontrol og arbejde med klassehierarkiet udføres på kompileringstidspunktet, hvilket ender med at generere ActionScript 1.0-lignende bytekode.
I 2006 blev ActionScript 3.0 udgivet i Adobe Flex - programmeringsmiljøet og senere i Adobe Flash 9.
ActionScript 3.0 repræsenterer en kvalitativ ændring sammenlignet med ActionScript 2.0, den bruger den nye AVM 2.0 virtuelle maskine og erstatter den tidligere formelle klassesyntaks med ægte klassebaseret objektorienteret programmering . ActionScript 3.0 giver op til 700x ydeevneforbedring i forhold til ActionScript 1.0/2.0 (dette er kun instruktionsbehandling, ikke grafik). ActionScript 3.0 giver dig mulighed for at arbejde med binære data med BitMap (som giver et betydeligt ydelsesboost: op til 10.000 gange). ActionScript 3.0 er i hastighed kommet tæt på programmeringssprog som Java og C# . Ydelsesgevinsten er baseret på dynamisk kodeoversættelse ( JIT ). Denne stigning i ydeevnen er kun mulig for nogle datatyper og kræver en særlig organisering af koden [3] . Mængden af kode stiger som regel flere gange [4] (sammenlignet med AS1).
Player versioner | Innovationer |
---|---|
2 |
Der var "handlinger", i det følgende kendt som:
|
3 | Udseendet af loadMovie(); |
fire | Den første version med fuld understøttelse af scripting implementering. |
5 | Udseendet af den første version af ActionScript. Der blev brugt prototypeprogrammering baseret på ECMAScript , og der blev leveret fuld support til procedure- og objektorienteret programmering. |
6 | |
7 |
|
otte |
|
9 | |
ti | |
10.2 |
|
elleve |
|
Understøttelse af ActionScript-versioner: | |||
---|---|---|---|
Ikke understøttet | AS1 | AS1, AS2 | AS1, AS2, AS3 |
ActionScript-syntaks er baseret på ECMAScript- specifikationen .
Denne kode opretter et nyt tekstfelt i dybde (dybde) 0, ved punkt (0, 0) og 100 gange 100 pixels i størrelse. Parameteren texter lig med strengen " Hello, world ". Koden skal skrives i vinduet handling - ramme
createTextField ( "hilse" , 0 , 0 , 0 , 100 , 100 ); hilse . text = "Hej verden!" ;Et eksempel på en klasse skrevet i AS2. Koden skal gemmes i en separat .as-fil og placeres i samme mappe som projektets .fla-kilde.
klasse com . eksempel . Greeter udvider MovieClip { public function Greeter () { } public function onLoad () : Void { var txtHello : TextField = this . createTextField ( "txtHello" , 0 , 0 , 0 , 100 , 100 ); txtHej . text = "Hej Ako!" ; } }I kildekode kompileret af Adobe Flex SDK (AS 3.0):
pakke { import flash . display . Sprite ; import flash . tekst . Tekstfelt ; public class HelloWorld udvider Sprite { public function HelloWorld () { var txtHello : TextField = new TextField (); txtHej . text = "Hej verden!" ; addChild ( txtHello ); } }Kode skrevet i MXML (XML-udvidelse):
<?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 { // Udskriver vores "Hej, verden!" besked til "mainTxt". mainTxt.text = Greeter.sayHello(); } ]]> </mx:Script> <mx:Label id= "title" fontSize= "24" fontStyle= "bold" text= '"Hej verden!" Eksempel' /> <mx:TextArea id= "mainTxt" width= "250" /> </mx:Application>Et eksempel på debuggeren. Udskriver output til skærmen alle data, der kan konverteres til en streng (AS2 og fremefter):
trace ( "Hej verden!" );Type | Beskrivelse |
---|---|
Snor | En streng, en række tegn, for eksempel: "Hej, verden" |
nummer | Enhver numerisk værdi, for eksempel: 0, 0,5, 1150 |
Boolean | Boolesk værdi, kan tage værdierne "true" eller "false". |
Objekt | Et objekt. Et eksempel på et objekt er klasser, metoder, funktioner, parametre osv. |
Type | Beskrivelse |
---|---|
filmklip | Et grafikobjekt, der indeholder rammer. |
Tekstfelt | Et dynamisk eller input tekstfelt. |
knap | Knap. Det er i bund og grund et filmklip med foruddefineret adfærd. Består af 4 rammer: Up, Over, Down og Hit. |
Dato | Et objekt, der indeholder oplysninger om dato/klokkeslæt. |
array | Dataarray. |
XML | XML-objekt |
XMLNode | XML-node |
LoadVars | Bruges til at sende og modtage variabler ved hjælp af HTTP POST og HTTP GET |
lyd | Indeholder lyddata i .MP3-format |
NetStream | Indeholder lyddata i andre formater |
NetConnection | Tillader 2 flash-film at interagere i samme omfang (f.eks. på skrivebordet eller i én browserfane) |
MovieClipLoader | Klasse til indlæsning af swf-videoer og .jpg .png-billeder |
EventListener | Event Handler |
(se Adobe dokumentation )
Type | Beskrivelse |
---|---|
Boolean | Boolesk værdi, kan tage værdierne "true" eller "false". |
int | heltal 32-bit numerisk værdi i området -2 31 til 2 31 -1. |
uint | heltal 32-bit numerisk værdi i området 0 til 2 32 −1. |
nummer | fraktioneret 64-bit numerisk værdi i området −263 til 263−1 . |
nul | nul. Link til ugyldig. |
Snor | En streng på 16-bit tegn. Kodningen er UTF-16. |
ugyldig | datatypen med én værdi er udefineret. Bruges hvis programmøren ønsker at angive typen af funktionen som "ikke-returnerbar". |
(se Adobe dokumentation )
Type | Beskrivelse |
---|---|
Objekt | Et objekt. Nøgleklassen for OOP. Det er grundlaget for alle AS3 klasser. |
array | En række løst indtastede data. Kan tage enhver værdi, for eksempel: ['a', 5, new TextField()] |
vektor | En række stærkt indtastede data. For eksempel kan array-vektoren.<String> kun indeholde strengdata ['a','b',' '] |
Dato | En klasse, der indeholder oplysninger om dato/klokkeslæt. |
fejl | Klassen, der indeholder fejlene. |
fungere | Hovedklasse. Et eksempel er enhver AS3-metode. |
Regexp | Regelmæssige udtryk |
XML | E4X-baseret XML-objekt (ECMA-357 standard) |
XMLList | Et array-baseret objekt til at søge efter indhold i en XML-klasse. |
ActionScript 3.0 (mere specifikt, Flash Player 9 API - man kan sige standardbiblioteket skrevet i C++) består af mere end 700 klasser organiseret i følgende pakker (analoger af navnerum i C++):
Pakke | Beskrivelse |
---|---|
flash.tilgængelighed | klasser for at understøtte adgang til Flash-indhold og -applikationer. |
flash.display | de vigtigste klasser, som Flash Player bruger til at vise et billede på skærmen. |
flash.fejl | almindeligt anvendte fejlhåndteringsklasser. |
flash.ekstern | indeholder klassen ExternalInterface, som bruges til at kommunikere med Flash Player-beholderen. |
flash.filtre | klasser til at arbejde med rasterbilledfiltre. |
flash.geom | klasser til at arbejde med geometriske klasser såsom punkter, rektangler og transformationsmatricer - for at understøtte BitmapData-klassen og muligheden for at cache billeder. |
flash medier | klasser til at arbejde med multimedier - for eksempel lyde og video. |
flash.net | klasser til afsendelse og modtagelse af data over netværket. For eksempel URL-anmodninger og Flash Remote. |
flash.udskrivning | klasser til udskrivning af indholdet af en Flash-film. |
flash profiler | funktioner, der bruges til fejlretning og profilering af kode. |
flash.system | klasser for at få adgang til systemet på funktionalitetsniveau, såsom sikkerhed, flersproget indhold osv. |
flash tekst | klasser til at arbejde med tekst, dens formatering, størrelse, stil og placering. |
flash.ui | brugergrænsefladeklasser såsom mus- og tastaturklasser. |
flash.utils | yderligere klasser, såsom ByteArray til at arbejde med binære data, Timer til at tælle tidsintervaller osv. |
flash.xml | giver XML support og alle funktioner til at arbejde med XML. (Påkrævet for at understøtte tidligere AS-versioner) |
Der er også mx.*- pakker, som består af klasser designet til at skabe en applikationsgrænseflade i Flex -miljøet og fl.*- pakker til Flash- miljøet.
ECMAScript | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Dialekter |
| ||||||||||||
Motorer ( sammenligning ) | |||||||||||||
Rammer , biblioteker |
| ||||||||||||
Mennesker | |||||||||||||
Andet |
|
Programmeringssprog | |
---|---|
|