WikiDer > ActionScript

ActionScript
ActionScript
ParadigmaMultiparadigma
erschien1998
Entworfen vonGary Grossmann
Entwickelt vonMakromedien, Adobe
Aktuelle Version3.0 (Juni 2006)
Typensystemstatisch, stark
ImplementierungenAdobe Flash, Adobe Flex
Beeinflusst vonJavascript, Java, HaXe
BetriebssystemMultiplattform
Dateierweiterungen.Asche
Portal  Portalsymbol  Informatik

ActionScript war das Skriptsprache oder Programmiersprache von Adobe Flash und Adobe Flex. Diese Sprache wurde verwendet, um Animationen oder Filme interaktiv zu machen. Es könnte auch verwendet werden, um vollständige Spiele oder erweiterte Anwendungen zu erstellen, beispielsweise für die Interaktion mit Maus und Tastatur. ActionScript ist eine ereignisbasierte Sprache, was bedeutet, dass alle Aktionen durch Ereignisse ausgelöst werden.

Vorwort

Ereignisgesteuerte oder ereignisbasierte Programmierung

Wenn die Programmierung ereignisbasiert oder basierend genannt wird Ereignisgesteuerte Programmierung wenn der Kontrollfluss des Programms wird durch Aktionen, zB Mausklick, oder durch Meldungen anderer Programme/Threads bestimmt.

ECMA-262

ActionScript basiert auf dem ECMA-262 (European Computer Manufacturers Association)-Standard. Dieser Standard ist der internationale Standard für Javascript. In der 5. Version von Flash wurde eine neue Syntax eingeführt, die ActionScript wie JavaScript aussehen ließ, wodurch die Sprache für Webentwickler viel einfacher (besser erkennbar) wurde.

Geschichte

Verlauf des Aktionsskripts

2000-2003

Flash 4 hatte eine sehr eingeschränkte Programmiersprache namens "Aktionen". Es wurde verbessert und wurde sofort zur ersten echten Version von ActionScript. Es war auch die erste Version, die von JavaScript und dem ECMA-262 beeinflusst wurde. Dies wurde zusammen mit Flash Player 5 eingeführt. zu viele Änderungen vorgenommen. Es gab nur geringfügige Änderungen wie das Hinzufügen des strikten Gleichheitsoperators (===), um es ECMA-262-kompatibel zu machen.Eine wichtige Funktion von ActionScript 1.0 gegenüber späteren Versionen ist die Verwendung von "losem Tippen", d. schwache Charakterisierung. Dies bedeutet, dass Variablen kann jede Art von Daten im Code enthalten.

2003-2006

ActionScript 2.0 war eine große Veränderung für die Sprache. Die Sprache wurde im September 2003 zusammen mit der Veröffentlichung von Flash Player 7 übernommen. Obwohl der Code bereits stärker auf OOP (objektorientierte Programmierung) wurde der Code noch nach ActionScript 1.0 verschoben -Byte-Code kompiliert, damit der Code noch mit Flash Player 6 kompatibel ist.

ActionScript 2.0 ermöglichte es Programmierern auch, einen festen Datentyp an eine Variable zu binden. Beispielsweise können während der Kompilierung Typkonfliktfehler gefunden werden. Eine Art von Nichtübereinstimmung ist beispielsweise die Zuweisung eines Strings (Textstück) an eine Variable vom Typ Zahl.

2006-jetzt

ActionScript 3.0 wurde im Juni 2006 eingeführt. Es wurde zusammen mit Flash Player 9 veröffentlicht. AS 3.0 beinhaltete einige grundlegende Umstrukturierungen. So grundlegend, dass der neue Flash-Player eine völlig andere virtuelle Maschine verwendet. Flashplayer 9 verwendet 2 virtuelle Maschinen (VMs): Eine VM für AS 1.0- und AS 2.0-Code und eine VM für AS 3.0.

Flash Player-Verlauf

Flash Player-VersionDatumEigenschaften
Flashplayer 21997Schaltflächen, Bibliotheken, tweening, Stereo-Audio.

Es gab einige Grundfunktionen wie Stop(), GotoAndPlay() und dergleichen für die Zeitleistensteuerung.(Hinweis: Dies war die erste Version, die unter dem Namen Macromedia veröffentlicht wurde.)

Flashplayer 31998Die 'alpha'-Funktion wurde eingeführt. Auf diese Weise können Sie Objekte in Ihrer Flash-Animation transparent machen.

MP3-Unterstützung wurde ebenfalls eingebaut. Das Laden externer .swf-Dateien wurde ebenfalls ermöglicht.

Flash-Player 4Mai 1999Das Streamen von MP3 wurde ermöglicht.

. war auch Bewegungs-Tweening eingeführt. Die erste echte Codesprache, nämlich Actions. Dies unterstützte Dinge wie Variablen, Schleifen und andere grundlegende Konstrukte.

Flashplayer 5August 2000Die erste echte Version von ActionScript wurde eingeführt. Dieser basierte auf ECMAScript. Es gab Unterstützung für prozedurale Programmierung und OOP.
Flash-Player 6März 2002Unterstützung für Videostreaming.
Flash-Player 7September 2003ActionScript 2.0 erschien.

Andere neue Funktionen wie Texteffekte, Erweiterungen von Drittanbietern...

Flashplayer 8August 2005Filtereffekte, Mischmodi, GIF- und PNG-Unterstützung, Bitmap-Caching, FlashType-Rendering, Emulator für mobile Geräte, neuer Videocodec (On2 VP6).

Hinweis: Im Dezember 2005 wurde Macromedia (und damit die Flash-Plattform) von Adobe Systems übernommen.

Flashplayer 9Juni 2006Virtuelle ActionScript-Maschine AVM2, ActionScript 3.0
Flash Player 9 Update 1November 2006(v9.0.28.0, Codename: "Marvin")

Unterstützung für den Vollbildmodus.

Flash Player 9-Update 2Dez. 2007(v9.0.115.0, Codename: "Moviestar")

Unterstützung für H.264-Video und AAC-Audio.

Flashplayer 10Oktober 2008(v10.0.12.36, Codename: "Astro")

3D-Objekttransformationen, erweiterte Texteffekte, Speex-Audiocodec, RTMFP-Unterstützung (Real Time Media Flow Protocol), verbesserte Anti-Aliasing-Engine.

Flash-Player 10.1Juni 2010(v10.1.53.64) Globale Fehlerbehandlung, Multitouch, HTTP-Streaming, H.264-Hardware-Decodierung.
Flash-Player 10.2September 2010 VorschauUnterstützung für 64-Bit-Browser.

Syntax des Aktionsskripts

Datentypen

Nachfolgend sind einige der in ActionScript verfügbaren Datentypen aufgeführt (AS 2.0 und AS 3.0).

ActionScript 2-Datentypen der obersten Ebene:

  • String: eine Liste (Aufzählung) von Zeichen, zum Beispiel "Hello World"
  • Zahl: beliebiger Zahlenwert
  • Boolean: a bistabil Variable, die entweder "wahr" oder "falsch" ist. Flash akzeptiert auch die Werte 1 und 0.
  • Objekt: Dies ist der Datentyp, von dem alle komplexen Datentypen abgeleitet werden. Es ermöglicht die Gruppierung von Methoden, Parametern und anderen Objekten.

Komplexe Datentypen in ActionScript 2 (benötigen mehr Speicher und Prozessorressourcen):

  • MovieClip: Eine Kreation in AS, die das Hinzufügen visueller Elemente erleichtert.
  • TextField: Eine Ableitung des MovieClip, die ein Textfeld bereitstellt. Dieses Textfeld kann statisch oder dynamisch sein oder sogar eine Benutzereingabe erfordern.
  • Button: ist ein Derivat des MovieClip. Der Button hat 4 Zustände, nämlich Up, Over, Down und Hit. Eine kurze Erläuterung dieser Zustände:
    • Oben: Die Taste ist inaktiv. Damit passiert nichts.
    • Info: Der Mauszeiger bewegt sich über die Schaltfläche.
    • Unten: Dieser Zustand ist vorhanden, wenn die Maus gedrückt wird und die Maus auf der Taste ist
    • Hit: Dieser Frame enthält den Hit-Bereich des Buttons. Dies ist die 'Hitbox' der Schaltfläche.
  • Datum: ermöglicht den Zugriff auf zeitbezogene Informationen
  • Array: Dieser Typ ermöglicht die lineare Speicherung von Daten, beispielsweise einer Zahlenfolge.
  • XML: ein XML-Objekt. Ein verwandter Datentyp ist der XMLNode.
  • Klang
  • NetStream
  • NetConnection
  • MovieClipLoader
  • EventListener

Einfache Datentypen in ActionScript 3:

  • Boolean: Eine bistabile Variable, die entweder "wahr" oder "falsch" ist. Flash akzeptiert auch die Werte 1 und 0.
  • int: eine 32-Bit-Ganzzahl zwischen -2.147.483.648 und 2.147.483.647.
  • Null: Dieser Datentyp hat nur einen Wert, der "null" ist. Dies ist der Standardwert (Standardwert) für den Datentyp string und weist somit auf einen leeren String hin.
  • Zahl: Dieser Datentyp kann vorzeichenbehaftete oder vorzeichenlose Ganzzahlen und Gleitkommazahlen darstellen. Es verwendet das 64-Bit-Format mit doppelter Genauigkeit. Die Werte können zwischen -9.007.199.254.740.992 und 9.007.199.254.740.992 liegen.
  • String: eine Folge von 16-Bit-Zeichen. Die Strings werden intern als Unicode-Zeichen nach dem UTF-16-Standard gespeichert. Frühere Versionen von Flash verwendeten den UTF-8-Standard.
  • uint: Ganzzahl ohne Vorzeichen. Dieser Typ ist eine 32-Bit-Ganzzahl ohne Vorzeichen, die zwischen 0 und 4.294.967.295 liegt.
  • void: Dieser Datentyp enthält nur einen Wert, der "undefiniert" ist. Void wird beispielsweise verwendet, um anzugeben, dass eine Funktion keinen Wert zurückgibt.

Komplexe Datentypen in ActionScript 3:

  • Vektor: Eine Variante des Arrays. Vektoren sind typsicherer (resistenter gegen Typ-Mismatch), aber auch viel besser für die Leistung. Sie sind nur ab Flash Player 10 verfügbar.

Beispiele

//Beispiel einer Funktion in ActionScript//Deklaration einer Funktion, die keinen Wert zurückgibt (void)ÖffentlichkeitFunktionsag Hallo():Leere{Route("Hallo Welt");}//Beispiel einer Funktion in ActionScript//Deklaration einer Funktion, die den Eingabestring zurückgibtÖffentlichkeitFunktionRückkehr(Eingang:Zeichenfolge):Zeichenfolge{RückkehrEingang;}//Beispiel für die Deklaration verschiedener VariablentypenvarmyString:Zeichenfolge=NeuZeichenfolge();myString="Hallo Welt";varmyString2:Zeichenfolge="Hallo Welt2";varmeine Nummer:Nummer=3021;varmyArray=NeuArray();myArray[0]="Hallo";//Array-Indizierung beginnt bei 0myArray[1]=" ";myArray[2]="Welt";

Sicherheit

Dekompilieren

Ein in Flash erstelltes Projekt muss immer an erster Stelle stehen zusammengestellt bevor es ausgeführt werden kann. Wenn Sie dies kompilieren, wird der Code in Bytecode umgewandelt oder Maschinensprache. Das Projekt ist somit in einer Datei zusammengefasst. Bei Flash ist dies beispielsweise eine .swf-Datei (ausgesprochen swiff-Datei), es gibt jedoch Programme, die eine .swf-Datei wieder in ihren ursprünglichen Quellcode konvertieren können. Einige Programme sind dabei recht erfolgreich, andere weniger. Diese Dekompilierung birgt gewisse Risiken. Beispielsweise sollten keine vertraulichen Informationen wie Passwörter im Code gespeichert werden, da diese normal ausgelesen werden können, dennoch gibt es Probleme: Die Dekompilierung legt den Quellcode frei. Wenn also jemand einen Code geschrieben hat, der nicht wirklich für jedermann gedacht ist, könnte das ein Problem sein. Beispielsweise können Benutzer bestimmte Teile des Programms missbrauchen oder illegal kopieren.

Obfuskatoren

Die unrechtmäßige Offenlegung des Quellcodes eines Projekts kann sehr schwierig sein. Es gibt jedoch Programme auf dem Markt, die versuchen, den Quellcode während oder nach der Kompilierung unlesbar zu machen und zu verhindern, dass andere Programme den Code dekompilieren oder disassemblieren.

Siehe auch

Verweise

Wikibooks hat mehr zu diesem Thema: ActionScript 3.0.