Actionscript 3.0 für Anfänger: Lektion # 4

Dienstag, 11. November, 2008

Resume unsere Beispiel-Code von TicTacToe (das ist ganz auf Google-Code) und wir beginnen zu analysieren sie im Detail.

Import-Definitionen

Mit ActionScript 3.0 wurde eine große Aufgabe der Reinigung und Anordnung der Klassen nell'alberatura (enthalten package den package Paket), die während der Entwicklung. In anderen Programmiersprachen, wie C zum Beispiel, wenn Sie verwenden möchten, eine Funktion muss explizit "Import" in den Code. Diese Operation "Einfuhr" ist notwendig, damit der Compiler, dass alle Codes und Definitionen im Zusammenhang Features, die wir benutzen wollen. In Actionscript 3.0, jedoch, Bildung import ist nicht zu verwechseln mit dem Standard-C / C #include + #include ActionScript 3.0 bietet Bildung include dass ist identisch mit #include die C / C + +. Zu den letzteren gehören "tatsächliche Code, der, wenn verwendet oder nicht, ist kompiliert in der Schlussabstimmung. Bildung import ist die höchste Ebene und ist mehr "intelligente" wird kompiliert. Es dient in erster Linie für den Zugriff auf Klassen, ohne den vollständigen Namen. In Alré Worten statt mit Formen wie folgt aus:

Actionscript:
  1. . MovieClip = new flash. display . MovieClip ( ) ; var myMC: Blitz. Anzeige. MovieClip = new flash. Anzeige. MovieClip ();

Mit dem Import der Definition eines bestimmten Pakets (oder Bibliothek, wenn Sie es vorziehen), erhalten Sie die meisten einfach und lesbar zu machen:

Actionscript:
  1. . MovieClip ; Import-Blitz. Anzeige. MovieClip;
  2. / /
  3. = new MovieClip ( ) ; var myMC: MovieClip = new MovieClip ();

In unserem Beispiel, in der Mitteilung der das Paket der Klasse, sind nun import Beträge:

Actionscript:
  1. .*; Import-Blitz. Display .*;
  2. .*; Flash-Import.. * Veranstaltungen;
  3. .*; Flash-Import.. * Text;

Der erste import zur Verfügung stellt alle Klassen und Definitionen innerhalb des Pakets flash.display Oder wir ersetzen könnten das gesamte Paket mit der Einfuhr (gezielte) die einzelnen Klassen und Definitionen, die wir verwenden, und zwar:

Actionscript:
  1. . DisplayObject ; Import-Blitz. Anzeige. DisplayObject;
  2. . MovieClip ; Import-Blitz. Anzeige. MovieClip;
  3. . Stage ; Import-Blitz. Anzeige. Etappe;
  4. . StageAlign ; Import-Blitz. Anzeige. StageAlign;
  5. . StageScaleMode ; Import-Blitz. Anzeige. StageScaleMode;

Diese Operation "Detail" ist nicht notwendig für das Endergebnis. Wenn eine Klasse ist nicht importiert mit dem Skript, ist nicht - intelligent - die in SWF-Datei.

Dies bedeutet, dass Sie importieren können große Pakete, ohne sich Sorgen zu machen, die Größe von SWF-Dateien, die Byte-Code im Zusammenhang mit einer Klasse ist in einer SWF-Datei nur, wenn dieser Klasse ist tatsächlich benutzt werden.

Bei den meisten, wenn übertreiben mit den "Stars", dh Syntax wie flash.* haben eine "leichte" Abkühlung während der Kompilierung! In der "täglichen Leben", daher, verwenden Sie die tranquillità gesamten Syntax, die in unserem Beispiel.

Konstante statische

Hier ist ein weiteres interessantes Merkmal von Actionscript 3.0: die ständige statisch. Darin brachte ich einige als Beispiel:

Actionscript:
  1. : String = "TicTacToe" ; public static const NAME: String = "TicTacToe";
  2. : String = "1.0" ; public static const VERSION: String = "1.0";
  3. = "Giovambattista Fazioli <g.fazioli@undolog.com>" ; public static const AUTOR: String = "Giovambattista Fazioli <g.fazioli@undolog.com>";

Es ist merkwürdig, zu beachten, dass die gleiche Sequenz kann wie folgt geschrieben werden:

Actionscript:
  1. : String = "TicTacToe" ; public static const NAME: String = "TicTacToe";
  2. : String = "1.0" ; public static const VERSION: String = "1.0";
  3. = "Giovambattista Fazioli <g.fazioli@undolog.com>" ; public static const AUTOR: String = "Giovambattista Fazioli <g.fazioli@undolog.com>";

Abgesehen von diesen "Kuriositäten" von Flash CS3, wir sagen, dass die statischen Variablen konstant oder sind im Zusammenhang mit der Klasse und nicht auf die Instanz der Klasse! Siehe Klassen, Objekte und Instanzen. Dies ist ein wichtiger Unterschied, denn in unserem Fall, wenn wir schreiben - zum Beispiel:

Actionscript:
  1. TicTacToe ( ) ; var ttt: TicTacToe TicTacToe = new ();
  2. ttt. AUTHOR ) ; // errore Trace (ttt. Autor) / / Fehler

Dies erzeugt einen Fehler. Dies liegt daran, dass die ständige oder statischen Variablen sind direkt im Zusammenhang mit der Definition der Klasse selbst und nicht auf seine Anwendung. Der richtige Weg ist:

Actionscript:
  1. TicTacToe. AUTHOR ) ; // Giovambattista Fazioli <g.fazioli@undolog.com> Trace (TicTacToe. Autor) / / Giovambattista Fazioli <g.fazioli@undolog.com>

Die konstante oder variable statische Funktionen sind nicht "Resort" wiederholt. Sie werden in allen Situationen, in denen der Wert gespeichert (entweder in Form einer Variable als Konstante) ist nach wie vor gültig für alle Instanzen der Klasse und kann dann gemeinsam mit allen die "Kinder".

Variablen und Konstanten

Es ist leicht zu erkennen den Unterschied zwischen variablen und konstanten, wie der Name impliziert, bedarf keiner weiteren Erläuterung. Es sollte jedoch erklären, dass wir gerade gesprochen. Eine Variable ist ein Bereich reserviert für einen bestimmten (numerisch, String, boolean, etc ...), die können (oder müssen), dessen Wert ändern, während der Ausführung eines Codes. Im Gegenteil, die ständige Räume sind reserviert für Daten, die nicht immer ihren Wert während der Ausführung eines Codes konstant bleiben! Siehe in diesem Zusammenhang Konstanten und Variablen: Was ist der eigentliche Unterschied?.

In ActionScript 3.0, wie auch in anderen Sprachen, die Konstanten kann nur einmal: direkt während oder nach der Gründung Code:

Actionscript:
  1. Klasse Beispiel (
  2. = 0 ; Public Const COSTANTE_A: int = 0;
  3. ; Public Const COSTANTE_B: int;
  4. / / Konstruktor
  5. Esempio ( ) { public function Beispiel () (
  6. COSTANTE_B = 10;
  7. )
  8. )
  9. Esempio ( ) ; var Probe: Beispiel = new Beispiel ();
  10. sample. COSTANTE_A ) ; // 0 Trace (sample. COSTANTE_A) / / 0
  11. sample. COSTANTE_B ) ; // 10 Trace (sample. COSTANTE_B); / / 10

Das nächste Mal werden wir auch weiterhin die Auswertung der Code, und wir erwarten von der "Art", da interessante und wichtige Thema mit der Freisetzung von ActionScript 3.0.

Verwandte Post

Schreibe einen Kommentar

TAG XHTML <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <a <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Verwenden Sie <pre> zu umschließen Code