Artikel mit Tag 'Actionscript 3.0'
Wir setzen unsere Beispiel-Code TicTacToe (gefunden in voller Länge auf Google Code ) und fangen an, sie im Detail zu analysieren.
Import-Definitionen
Mit ActionScript 3.0 wurde eine große Aufgabe der Reinigung und Unterkunft nell'alberatura Klassen (enthalten in den Paketen getan, package ) während der Entwicklung eingesetzt. In anderen Programmiersprachen, wie C zum Beispiel, wenn Sie eine Funktion verwenden möchten explizit "Import" im Code. Dieser Vorgang der "Einfuhr" ist erforderlich, damit der Compiler, alle Codes und Definitionen in Bezug auf die 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, aber die Anweisung import sollte nicht mit dem entsprechenden C / verwechselt werden C + + #include ; Actionscript 3.0 bietet Ausbildung include die identisch ist mit ' #include die C / C + +. Letztere, in der Tat, "gehören" den eigentlichen Code, die, wenn verwendet wird oder nicht, wird in der ausführbaren Datei endgültig zusammengestellt. Bildung import ist auf höchstem Niveau und ist mehr "intelligente" bei der Kompilierung. Es ist vor allem für den Zugriff auf Klassen ohne Angabe ihrer vollständigen Bezeichnung verwendet. In alre Worten statt mit den Formen des Typs:
Fortsetzung ...
Wir setzen die Analyse des Beispiels des Spiels Tic Tac Toe, dargestellt in Actionscript 3.0 für Anfänger: Lektion Nr. 2 . Wir kamen zu der Funktion, die das Netz des Spiels erstellt:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17. 18 19 20 21. 22. 23. 24 25 26. 27. 28. 29. 30 31. 32 33 34 35 36 37 38
| / ** * Entwurf grafisch das Gitter (3x3), um Video- * * @ Param nichtig * @ Return nichtig * @ Private * / createGrid ( ) : void { createGrid private function (): void { / / Temporäre Zeiger auf eine MovieClip-Objekt / / Anmerkung: hier könnte man auch ein Sprite / / Aber in diesem Fall muss ich in der Lage, das Objekt erweitern / / Hinzufügen einige persönliche proproetà. Der Sprite / / Ist eine versiegelte Klasse und daher nicht erweiterbar Laufzeit, während / / Die MovieClip-Klasse ist eine dynamische Klasse und macht dann / / Wir können hinzufügen, Laufzeit Eigenschaft MovieClip , i : uint = 0 ; var tm: MovieClip , i: uint = 0; / / In einer 3x3-Muster der MovieClip hinzufügen ; i < 9 ; i ++ ) { for (; i <9; i + +) { ( ) ; tm = new MovieClip (); tm ) ; addChild (tm); = OFFSETX + ( ( i % 3 ) * ( PLAYER_WIDTH + PLAYER_OFFSET ) ) tm. OFFSETx = x + ((i% 3) * (+ PLAYER_WIDTH PLAYER_OFFSET)) = OFFSETY + Math . floor ( i / 3 ) * ( PLAYER_HEIGHT + PLAYER_OFFSET ) tm. offsetY + y = Math . Etage (i / 3) * (+ PLAYER_HEIGHT PLAYER_OFFSET) tm _index = i. 0 ) ; drawPlayer (tm, 0); } / / Zeichne Linien 2 und 2 horizontale veriticali this . graphics ) { mit (this. Grafiken) { 6 , 0x666666 ) ; lineStyle (6, 0x666666); OFFSETX , OFFSETY + ( PLAYER_HEIGHT + 15 ) ) ; moveTo (OFFSETx, offsetY + (PLAYER_HEIGHT + 15)); OFFSETX + ( ( PLAYER_WIDTH + 20 ) * 3 ) , OFFSETY + ( PLAYER_HEIGHT + 15 ) ) ; lineTo (offsetX + ((PLAYER_WIDTH + 20) * 3) + offsetY (PLAYER_HEIGHT + 15)); OFFSETX , OFFSETY + ( PLAYER_HEIGHT + 20 ) * 2 ) ; moveTo (OFFSETx, offsetY + (PLAYER_HEIGHT + 20) * 2); OFFSETX + ( ( PLAYER_WIDTH + 20 ) * 3 ) , OFFSETY + ( PLAYER_HEIGHT + 20 ) * 2 ) ; lineTo (offsetX + ((PLAYER_WIDTH + 20) * 3) + offsetY (PLAYER_HEIGHT + 20) * 2); OFFSETX + ( PLAYER_WIDTH + 15 ) , OFFSETY ) ; moveTo (OffsetX + (PLAYER_WIDTH + 15), offsetY); OFFSETX + ( PLAYER_WIDTH + 15 ) , OFFSETY + ( ( PLAYER_HEIGHT + 20 ) * 3 ) ) ; lineTo (offsetX + (PLAYER_WIDTH + 15), offsetY + ((PLAYER_HEIGHT + 20) * 3)); OFFSETX + ( PLAYER_WIDTH + 20 ) * 2 , OFFSETY ) ; moveTo (offsetX + (PLAYER_WIDTH + 20) * 2, offsetY); OFFSETX + ( PLAYER_WIDTH + 20 ) * 2 , OFFSETY + ( ( PLAYER_HEIGHT + 20 ) * 3 ) ) ; lineTo (offsetX + (PLAYER_WIDTH + 20) * 2, offsetY + ((PLAYER_HEIGHT + 20) * 3)); } } |
Fortsetzung ...
Einführung
Actionscript 3.0 kann ein guter Ausgangspunkt sein, um sich, diejenigen, die nicht mit der Programmierung C und / oder C + +, orioentata Programmierung (OOP). Darüber hinaus ist dieses Reihe von Lektionen, von Nutzen sein wird, um diejenigen, die aus anderen Räumen oder von früheren Versionen von Flash.
Richten Sie ein Projekt
In dieser ersten Lektion werden wir sehen, wie die Einrichtung einer allgemeinen Flash CS3 Projekt. Es ist gut zu verwenden, wenn die Projekte zu erwarten sind zu haben, um mit mindestens mehr als eine Datei behandeln. Der Einsatz des Projekts eingeführt wurde - von Macromedia - bereits in den Versionen vor CS3 so dovrebbere unterliegen auch bekannte Entwickler Actionscript 2.0 sein.
Doch mit Actionscript 3.0 - wie wir sehen werden - ist es möglich, ein Actionscript (as). Zum Dokument-Root-Film erstellen unsere Fla sozusagen.. Diese Funktion ist sehr nützlich und macht auch ein minimales Projekt besteht aus mindestens zwei Dateien:.. Den Fla und als assoziierte. Aus diesem Grund ist es gut, "immer" aus einem Projekt von Anfang an, so dass die verschiedenen Dateien zu organisieren (. Fla,. As, ...), die ein Teil unserer "Paket" der Entwicklung.
Auch, wenn Sie lernen, die dimesticazza mit der Philosophie, um Objekte, Eigensicherheit in dieser Art von Sprache, es ist normal, eine Reihe von Dateien zu finden, auch für Projekte im Wesentlichen einfach.
Fortsetzung ...
Der Text Replacement Technik , die ich heute präsentieren ist, in gewisser Hinsicht wirklich interessant. Im Gegensatz zu den klassischen Ersatz ist auf Bild via CSS , nutzt diese Technik einen Flash-Film, um die Titel unserer Seite zu überschreiben. Obwohl er ein wenig mehr artikuliert, wie es die Schaffung eines Flash-Films und die Verwendung von Javascript erfordert, ermöglicht es, eine Reihe erheblicher Vorteile erhalten:
- Hält die "Zugänglichkeit der Website durch Ausnutzung einer -Echt-Unauffällig Javascript , so dass Web-Crawler und Spider, um die Seite so einfach und richtig HTML sehen weiter
- Es erfordert nicht die Erstellung von Bildern für n n Aktien. Es dauert nur ein Film, um alle Titel unserer Seite zu ersetzen, mit einer erheblichen Einsparung von Herunterladen
- Ermöglicht Ihnen die einfache, aber auch Titel mit Font erstellen normalerweise nicht auf dem Web verwendet
- Der Text in HTML gerendert werden können, dank der Eigenschaften von Flash-
- Der Text ist frei wählbar
- Als Flash-Film, den Sie setzen können jede Art von Interaktivität und Animationen
Sie werden bemerken auch, dass in diesem Verfahren die CSS kaum berücksichtigt werden!
Fortsetzung ...
Es mag wie ein Argument für selbstverständlich und jetzt erschöpft, aber mit Flash CS3 und dem neuen Management von Dokumenten Klassen (Paket) in Actionscript 3.0 erlaubt scheint, ist es nicht ganz schaffen einen unmittelbaren preloader funktioniert. Die neueste Version von Flash in der Tat, übernimmt die Belastung der Film so anders als frühere Versionen. Im Netz finden Sie einige Vorschläge und Lösungen, um einen preloader "old-fashioned" zu schaffen. Allerdings haben die verschiedenen Beispiele, die ich gefunden befriedigt mich nicht voll, als sie den Film so zu verändern, dass es wie ein preloader classic arbeitet erfordern. In der Praxis müssen, wenn Sie bei der Entwicklung immer daran denken, "diese Sache, die ich so sonst die Vorspannung nicht funktioniert zu tun!" Und für Filme bereits ausgefüllt, dann?
Loader
Die Lösung, die ich angenommen habe zumindest für jetzt, war es, einen Film außerhalb (mein Lader - erstellen siehe Beispiel ) können andere Film außerhalb geladen, darunter ein Bild! Diese Lösung, auch wenn es die Praxis erfordert in zwei Filmen (der Loader und die filamato selbst), wird es wirtschaftlich nur, wenn Sie einen Loader, der immer und immer wieder werden, in der Lage, jeden Film zu laden ist erstellen und verwalten, auf jeder Auflösung und eine Bildrate.
Fortsetzung ...
In der Zeit nach Flash CS3: Erstellen Sie eine Rückwirkung auf einem MovieClip hatte gesehen, wie es möglich ist, eine Klasse, die einen MovieClip erstreckt schreiben, um DesignTime einem MovieClip in der Bibliothek verbinden. Entdeckte ich jedoch, dass es vielleicht sinnvoller und wirtschaftlich den umgekehrten Weg zu tun. Ich habe eine Klasse Reflex ( Reflex.as ), mit der Absicht, nutzt sie ausschließlich aus dem Code. Ich habe diese Klasse im Konstruktor Denken bewegen Sie den Mauszeiger auf einem MovieClip. , ma leggermente modificato in modo da poter funzionare espressamente da codice: Die neue Klasse Reflex enthält im wesentlichen den gleichen Code zuvor in eingefügt ReflexMe , jedoch leicht modifiziert werden, um ausdrücklich Code zu arbeiten:
1 2 3 4
| / / sfx .*; Import undolibrary sfx *.. / / Reflex = new Reflex ( movieClipInstance ) ; var rx: = new Reflex Reflex (movieClipInstance); |
Fortsetzung ...
Ich stelle heute eine große und interessante Thema, das seine "Kern" bei der Verwendung von Klasse hat DisplacementMapFilter . , etc…). Diese Klasse können Sie eine Verschiebung der Karte Filter auf ein visuelles Objekt Flash ( Bitmap , Sprite , etc ...). Filter, Flash CS3, hat es verschiedene und alle zur selben Familie gehören. Doch die DisplacementMapFilter hat ganz besondere Eigenschaften, wie vedreno, so dass es einzigartig in der Generation der wirklich spektakulären Effekten.
DisplacementMapFilter - Hier klicken um den Flash-Film zu öffnen
Download des Quellcodes
Fortsetzung ...
Mit AS3 haben neue "Anleitung", um die Eigenschaften zu definieren und Methoden (öffentlich oder privat) eingeführt. si comportava in AS2 come ora si comporta protected , in AS3 private è davvero “privata” !) proprio a causa dell'introduzione di una sintassi più OO rispetto alle precedenti versioni. Einige, wie private - bereits in AS2 - geänderte Verhalten ( private benommen in AS2 wirkt nun als protected , in AS3 private ist wirklich "privat"!) nur wegen der Einführung einer OO-Syntax als in früheren Versionen . Bessere Umrisse, dann, von der "Öffentlichkeit" zu den "privaten":
- Öffentlichkeit
jeder zugreifen kann - geschützt
Sie können auf die übergeordnete Klasse und Unterklassen - Private
nur die Klasse, die definiert, - internen
nur innerhalb des gleichen Pakets
Fortsetzung ...
Durch die Verwendung eines bemerkenswerteste Merkmal von Actionscript 3.0 (siehe Actionscript 3.0, die alle mit dem neuen Betreiber ), habe ich eine Klasse ReflexMe der Lage, eine "Reflexion" von einem MovieClip in der Bibliothek vorhanden generieren.
Wird geladen ... Flash Player
Die Quelle ist Teil des Pakets undolibrary - GoogleCode dazu - aber wenn Sie möchten, können Sie die einzelne Datei downloaden ReflexMe.as .
Fortsetzung ...
Die Klasse BitmapData ermöglicht, auf einfache Effekte nützlich für verschiedene Zwecke. Wir haben bereits gesehen, wie man ein "Nebel tv" mit ein paar Zeilen Code (erstellen Flash CS3: Erstellen Sie Nebeleffekt TV in 1 Sekunde ). Jetzt werden wir mit einem anderen Effekt "spektakulär", die, wie wir später sehen werden, eine Möglichkeit der Realisierung interessante grafische Effekte, wie im Beispiel unten beschäftigen: variierten Parameter, um die verschiedenen Effekte, indem Sie Ihre Maus über das Bild erzeugt beobachten diese bewegt werden kann.
Wird geladen ... Flash Player
Bei dieser Gelegenheit habe ich auch noch eine neue einfache Komponente (Check) in Undolibrary ! Dann aktualisieren Sie Ihre SVN-Repository. Die Quelle ist hier erhältlich: MapEffect.zip
Fortsetzung ...
Neueste Kommentare
Daniela : Hallo! Ich versuche, eine Hilfe zu bitten, um mein Problem zu lösen. Ich Migration Blog von tumblr auf ...
Ludovica : Hallo! Ich werde erklären, meine Zweifel. Wenn ich einen Beitrag zu schreiben nicht fügen Sie Bilder in dem Artikel (falls so ...
Giovambattista Fazioli : @ ale: Wie gezeigt @ Kevin auf GitHub Repo sehen: https://github.com/gfazioli/Ch roma-Key
Giovambattista Fazioli : @ Kevin: Siehe https://github.com/gfazioli/Ch roma-Key
Kevin : Sehr schönes Beispiel - möchte die fla zu sehen.!