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

Rufen Sie das Beispiel unseres Code of TicTacToe (gefunden in voller Länge auf Google Code ) und beginnen, sie im Detail zu analysieren.

Import-Definitionen

Mit ActionScript 3.0 ist eine leistungsstarke Lösung zur Reinigung und Unterkunft nell'alberatura Klassen (enthalten in den Paketen getan, package ) während der Entwicklung verwendet. In anderen Programmiersprachen, wie C zum Beispiel, wann Sie wollen eine Funktion verwenden, müssen explizit "Import" in den Code. Dieser Vorgang der "Import" ist notwendig, damit der Compiler alle Codes und Definitionen im Zusammenhang mit Funktionen, die wir verwenden wollen, haben. ; Actionscript 3.0 mette a disposizione l'istruzione include che è identica all' #include del C/C++. In ActionScript 3.0 ist jedoch, Bildung import sollte nicht verwechselt werden mit den entsprechenden C / C + + #include , Actionscript 3.0 bietet Ausbildung include , die identisch ist mit " #include in C / C + +. Letzteres in der Tat, "include" der eigentliche Code, dass, wenn verwendet oder nicht, die endgültige ausführbare kompiliert wird. Die Aussage import ist die höchste Stufe und ist "intelligent" bei der Kompilierung. Es ist vor allem für den Zugang Klassen ohne Angabe ihrer vollständigen Namen verwendet. In alre Worten statt mit Formen wie:

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

Durch den Import der Definition der spezifischen Paket (oder Bibliothek, wenn Sie bevorzugen), wir die einfacher und lesbarer zu erhalten:

1
2
3
. MovieClip ; Import flash.display. MovieClip ;
/ /
MovieClip = new MovieClip ( ) ; var myMC: MovieClip = new MovieClip ();

In unserem Beispiel das Paket Erklärung innerhalb der Klasse, hatten wir drei import :

1
2
3
.*; import flash.display .*;
.*; Import flash.events .*;
.*; Import flash.text .*;

. Die ersten import zur Verfügung stellt, alle Klassen und die Definitionen in das Paket flash.display . Alternativ könnten wir das gesamte Paket, um den Import (gezielte) Definition der einzelnen Klassen zu ersetzen und wir nutzen, und zwar:

1
2
3
4
5
. DisplayObject ; Import flash.display. DisplayObject ;
. MovieClip ; Import flash.display. MovieClip ;
. Stage ; . import flash.display Bühne ;
. StageAlign ; Import flash.display. StageAlign ;
. StageScaleMode ; Import flash.display. StageScaleMode ;

Dieser Vorgang der "Detail" ist nicht eine Notwendigkeit für das Endergebnis. Wenn eine importierte Klasse nicht in das Skript verwendet werden, ist nicht - intelligent - in der exportierten SWF-Datei.

Dies bedeutet, dass Sie große Pakete ohne sich Gedanken über die Größe der SWF-Datei zu importieren, ist Bytecode einer Klasse zugeordnet in einer SWF-Datei nur dann, wenn die Klasse tatsächlich verwendet wird.

Am meisten, wenn auch bisher mit "Sternchen", dh mit Syntax wie flash.* , können wir eine "leichte" Verlangsamung bei der Erstellung! In "Alltag", daher können Sie die Syntax mit Zuversicht in unserem Beispiel verwendet.

Constant statischen

Hier ist ein weiteres interessantes Merkmal von Actionscript 3.0: statische Konstanten. In dem Beispiel führte ich einige Beispiel:

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

Es ist interessant festzustellen, dass die gleiche Sequenz wie geschrieben werden kann:

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

Abgesehen von dieser "Kuriositäten" der Flash CS3, sagen wir, dass der statische Variablen oder Konstanten, die Klasse und Instanz der Klasse verbunden sind! Siehe Klassen, Objekte und Instanzen . Dies ist ein wichtiger Unterschied, weil in unserem Fall, wenn wir schreiben - zum Beispiel:

1
2
TicTacToe = new TicTacToe ( ) ; var ttt: TicTacToe TicTacToe = new ();
ttt . AUTHOR ) ; // errore trace (ttt. AUTOR) / / Fehler

Dies wird ein Fehler generiert. Dies liegt daran, die Konstanten und statische Variablen direkt mit der Definition der Klasse selbst und nicht eine Instanz verbunden sind. Der richtige Weg ist:

1
TicTacToe . AUTHOR ) ; // Giovambattista Fazioli <g.fazioli@undolog.com> trace (TicTacToe. AUTOR) / / Giovambattista Fazioli <g.fazioli@undolog.com>

Die konstanten oder statischen Variablen haben den Charakter nicht "instanziiert" werden mehrmals. Sie sind in Situationen, in denen die gespeicherten Wert (entweder als Variable in der Form konstant) bleibt gültig für alle Instanzen dieser Klasse verwendet und kann dann mit all den "Kinder" gemeinsam genutzt werden.

Variablen und Konstanten

Es ist leicht, den erheblichen Unterschied zwischen variablen und konstanten sehen, wobei der selbsterklärenden Namen. Allerdings sollte es zu erklären, weil wir sprachen gerade über. Eine Variable ist ein Platz für ein gegebenes (numerisch, String, Boolean, etc ...), dass kann (und sollte) ändern Sie den Wert während der Ausführung eines Codes. Im Gegensatz sind die Konstanten Räume für Daten, die nie ihren Wert ändern während der Ausführung eines Codes vorbehalten: konstant bleiben! Sehen Sie in der Konstanten und Variablen: Was ist eigentlich der Unterschied? .

In Actionscript 3.0, wie in anderen Sprachen, können die Konstanten nur einmal direkt während oder nach der Definition in den Code gesetzt werden:

1
2
3
4
5
6
7
8
9
10
11
class Beispiel {
int = 0 ; COSTANTE_A public const: int = 0;
int ; COSTANTE_B public const: int ;
/ / Konstruktor
Esempio ( ) { public function Beispiel () {
COSTANTE_B = 10;
}
}
Esempio = new Esempio ( ) ; var Probe: Beispiel = new Beispiel ();
sample . COSTANTE_A ) ; // 0 trace (sample. COSTANTE_A) / / 0
sample . COSTANTE_B ) ; // 10 trace (sample. COSTANTE_B) / / 10

Das nächste Mal werden wir auch weiterhin die Analyse des Codes, und wir werden auf "Typen" gegeben, spannendes und wichtiges Thema mit der Veröffentlichung von Actionscript 3.0 aussehen.

3 Kommentare zu "Actionscript 3.0 für Anfänger: Lektion # 4"

  1. 18. Februar 2009 nocode:

    Wäre besser in Englisch. Das macht einfach keinen Sinn. Nicht sehr gut lesbar auf diese Weise. Bitte schreiben Sie in Englisch, veröffentlichen in Englisch. Oder haben eine echte Übersetzer übersetzen.

  2. 18. Februar 2009 nocode:

    (Bewirkt, dass einige Internet-Übersetzer ist nicht gut genug. Ich habe ein schlecht ins Niederländische site übersetzt.)

  3. 18. Februar 2009 Giovambattista Fazioli :

    @ Nocode:
    Es tut mir leid, aber es wäre zu teuer für mich in Italienisch und Italiano zu schreiben! : (

Hinterlasse einen Kommentar

XHTML TAG PERMIT: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> INSERTION CODE:
 <pre></pre> // blocco generico <code></code> // blocco generico [cc_actionscript][/cc_actionscript] // Actionscript [cc_actionscript3][/cc_actionscript3] // Actionscript 3 [cc_css][/cc_css] // CSS Style Sheet [cc_html][/cc_html] // HTML [cc_js][/cc_js] // Javascript [cc_objc][/cc_objc] // Objective-C [cc_php][/cc_objc] // PHP [cc_sql][/cc_sql] // SQL