Flash AS2

AnimateCC Basic Actionscript 2 Actionscript 3 AnimateCC Canvas Shortcuts Video

 

mail@pastorpixel.de | http://www.pastorpixel.de | meine Flash Seite | Download | Forum

Die Flash Tutorials bestehen aus einigen Seiten. Flash Basic oder Flashtipps für Anfänger, Flash Actionscript mit ca 130 Flashbeispielen als fla-Datei auch zum Download und Shortcuts. Die Flash Tuts für ältere Versionen werden nicht mehr aktualisiert. Hier geht es in erster Linie um Actionscript 1 einige Neuerungen in Actionscript 2 und ich habe auch schon angefangen mit Actionscript 3. Die Tipps werden mit meinem Wissensstand aktualisiert.


Der größte Teil dieser Flash Tipps ist in den SWF-Beispielen enthalten. Die Flash swf- Beispiele stehen auch als Flash fla- Dateien zum Download bereit. In den fla-Dateien, sind die einzelnen Seiten als Szenen angelegt. Die meisten Flash Aktionen kann man aus den SWF-Beispielen kopieren und im Aktionenfenster einfügen. Es sind über 130 Beispiele die im Durchschnitt aus ca. 10 Einzelseiten bestehen. Das sind ca. 1300 Beispielseiten. Hinzu kommen die fast 40.000 Wörter dieser beiden Seiten und die zahlreichen Beispiele und Erklärungen unter Actionscript 3.

Ich arbeite als freischaffender Webdesigner, denken Sie an mich, wenn ein Auftrag zu vergeben ist. Tel: 0231 20 24 93 mail@pastorpixel.de

Wieviel sind Ihnen die Tutorials wert?

Vielleicht möchten sie sich erkenntlich zeigen und etwas dafür zurückgeben? Die Höhe des Betrags ist nicht entscheidend auf die Geste kommt es an.
Nutzen sie das sichere PayPal-System, um etwas Geld zu spenden! sie ermutigen mich damit, mit meiner Arbeit fortzufahren. Meine Flashtipps sind wohl mit die umfangreichste Sammlung für Anfänger und Fortgeschrittene im deutschsprachigen Netz. Wenn sie soviel gelernt haben, dass sie das Bedürfnis verspüren, mir zu danken, spenden sie etwas. Auf der Kontaktseite findet man auch meine Kontodaten. Wenn mir doch nur jeder, der hier was lernt einen Euro spenden würde, wäre ich froh.

Creative Commons License
Dieses Werk oder Inhalt ist unter einer Creative Commons-Lizenz lizenziert.

Wenn sie meine Tipps auf kostenpflichtigen Webseiten, CDs oder Büchern gesehen haben, schicken sie mir bitte eine Email und verlangen sie ihr Geld zurück. Denn dann wurden meine Flash Tipps widerrechtlich und ohne mein Wissen veröffentlicht.

Flash Buchtipps

 

 

Wie findet man sich als Anfänger auf dieser Seite zurecht?

Anfänger sollten die Beispiele von oben nach unten bis zum Ende von Grundlagen Programmierung lernen. Verweise auf schwierigere Themen kann man anfangs überschlagen. Auch die mit einem * versehenen Themen kann man später lernen. Im Beispiel Variablen und If-Else, for Schleife sollte man zumindest die ersten paar Seiten vor dem zweiten Abschnitt studieren.

Die nachfolgenden Themen ab dem 4ten Abschnitt kann man dann je nach Interesse erkunden. So ist beispielsweise das Thema programmierte Bewegung die ideale Fortsetzung zum Thema Drag Movie und Eigenschaften von Filmsequenzen verändern. Ganz unten sind ein paar Schritt für Schritt Anleitungen, die man nach den Grundlagen machen kann.
Die Flash-Beispiele (fla/ swf) fangen in der Regel mit einfachen Sachverhalten an, so dass man auch hier am Anfang einen Einstieg bekommt. Außerdem sind in vielen Beispielen Querverweise auf andere Beispiele, dabei muss man allerdings manchmal bis zur richtigen Seite weiterblättern. Flash ist mittlerweile sehr komplex geworden. Ich habe hier den Spagat versucht die Seite nach Wichtigkeit und gleichzeitig themenbezogen zu strukturieren. Das gelingt natürlich nicht wirklich.

 

Actionscript Einführung

Html World eine Einführung zum Thema Actionscript

 

Autor: Michael Albers

 

Buchtipps

Die ultimativen Buchtipps von mir, schaut euch meine Vorschläge an..
Thanks für jeden Cent.

1 Einstieg

1 Grundlagen Filmsequenzen

Aktionen
Aktionen Grundlagen, Tutorial, Codehinweise
Event Handler/ Ereignisse auf -Mausklick- Tastendruck -Schlüssebild AS3
*Mausrad, onMouseWheel, scrollen
*Ereignis listenerAS3
Stop, Play
Go to
Get Url (link einfügen)
load Movie() ::: unloadMovie(), loadMovieNum() AS3
*Load Movie mit Variablenübertragung
*externe Bilder in den Flash Player laden
Filmsequenz Instanzen adressieren (Zielpfad einfügen)
Hierarchie MC-Instanzen , Schreibweisen AS3
Eigenschaften von Filmsequenzen ändern
Eigenschaften abfragen (Get Properties)
Elemente & Fenster verschieben, Drag Movie Clip, Mausposition
droptarget AS3
DuplicateMovieclip ::: Filmsequenz verdoppeln
attachMovie ::: createEmptyMovieclip AS3
Gemeinsame Symbole aus der Bibliothek (shared library)
*setMask() ::: programmierte Maske AS3

1 Grundlagen Programmierung

1 Zeitleiste / Zeit

Variable AS3
Datentypen, Ausdruck, string - number
Trace
if, else und else if
for Schleife ::: while Schleife
Call

Zeitleiste rückwärts
Zeitleiste ::: Navigation spezial
GetTimer ::: Ablaufzeit eines Films AS3
Preloader ::: starten der Zeitleiste nach Ladevorgang
Zufall/ zufälliges Bild der Zeitleiste oder Position von MCs

1 Programmierung

1 Spiele / programmierte Bewegung / Movieclips

Mathe Object
Array
Datum abfragen
Function
OOP ::: Objektorientierte Programmierung AS1 AS3
OOP Actionscript 2AS3
Flashnavigation mit Protoype Funktion AS3
include Actionscript auslagern
undokumentierte Funktionen
hitTest/ Abschießen/ Berührung erkennen / Menü AS3
localToGlobal() ::: globalToLocal() AS3
Distanz zwischen 2 MC Instanzen
programmierte Bewegung AS3
Trigonometrie ::: Sinus, Cosinus, Tangens AS3
Rotation auf einen Zielpunkt Math.atan2()
Tastaturbefehle, Key- Objekt AS3
Tastatur & Eingabefeld, onSetFocus, onKillFocus
Perspektivisch vergrößern (Bewegung)
3D mit Flash

1 Kommunikation / Email / Player / Browser

1 Text / Daten laden

Zeichensatz, UTF8, Latin 1, System.useCodepage

E-mail Formular per CGI
Projector steuern mit fscommand AS3 fullscreen
Javascript (Neues Fenster öffnen) von Flash nach Javascript/ Html
Javascript Kommunikation von Javascript/ Html nach Flash
Schlüsselbilder per Html- Link ansteuern/ Anker
Datenaustausch zwischen swf filmen/ localConnection
Flash Detection ::: Flashplayer Version erkennen mit Weiterleitung
Url überprüfen ::: Datenklau verhindern ::: Domains beschränken ::: Zugriff erlauben
Umleitung nach Bildschirmauflösung / Bühnenweite
weitere Infos zum Thema Kommunikation, siehe Unterpunkte: "Text"

Textobjekt AS3
Strings : substr() : Formatierung : Schreibmaschinen Effekt
Text aus einer externer Datei laden Variablen importieren / exportieren / txt, html, php
Flashvars / Variablen aus Html oder PHP Seite AS3
Load Vars Variablen aus externen Quellen importieren & exportieren
Emailformular mit Flash und PHP
XML und Flash AS3
Flashbuttons mit Links aus Textdatei neues Frameset

Sound & Komponenten

Zeichnen & Farben & Drucken

Sound steuern (sound object)
Schieberegler ::: slider
Komponenten AS3

lineTo Linien und Formen zeichnen AS3
Color Object, Farben interaktiv definieren AS3
printJob :: Seiten drucken AS3

Flash Filter Actionscript (Schatten, Blur etc.)

   

Schritt für Schritt Anleitungen

 

Cartoons zeichnen
erste Actions
Scrollmenue
Das Mückenspiel
Kartenspiel (ähnlich dem Memory Spiel)
Wegspiel (einfaches Spiel für Kinder) NEU
 
Weitere Flashinfos im Netz  

 

Aktionen

die ersten Actions (Tutorial) NEU

Das folgende Flashbeispiel ist der ideale Einstieg in die Thematik Actionscript

Actionscript ist eine Programmiersprache. Programmiersprachen senden Informationen an den Computer und empfangen Informationen vom Computer. Im Gegensatz zur menschlichen Sprache, musst du in einer Programmiersprache an jedes Detail denken, so wie man mit einem kleinen Kind spricht.

 

Flash 5/ Flash MX / Flash 8

Beispiel SWF anschauen oder download actionGrundlagen.fla

 

Flash MX 2004

Beispiel SWF anschauen oder download actionGrundlagen.fla


 

Aktionen, Actions, Actionscript

Swf Beispielfilm laden oder download actions.swf

In AS1 und AS2 gibt es drei Möglichkeiten eine Aktion zuzuweisen, achte auf die Titelzeile des Aktionenfensters:

Das Aktionen bedienfeld ruft man auf über eine der folgenden Möglichkeiten:

Man kann außerdem die Programmierung in Actionscirptdateien auslagern. mehr dazu

Das Aktionen Bedienfeld

 

in den einzelnen Flash Versionen.

Scripthilfe, Normalmodus, Expertenmodus

Diese Tipps werden ständig erweitert. Ich kann jedoch nicht, bei jeder neuen Version, alle Flashbeispiele neu erstellen. Daher hier einige Anmerkungen. Im Zusammenhang mit dem Aktionenfenster erwähne ich öfter die Unterscheidung von Normalmodus und Expertenmodus. Hierbei handelt es sich um eine Einstellung von Flash5 und FlashMX. In Flash 8 klickt man stattdessen auf Skripthilfe, um diesen hilfreichen Eingabeeditor zu bekommen. In Flash MX 2004 besteht diese Möglichkeit nicht. Danke Macromedia, dass diese Möglichkeit ab Flash 8 wieder eingeführt wurde.

 

Die deaktivierte Scripthilfe von Flash 8 nannte sich in Flash5/Flash MX Expertenmodus. Hier kann man per Texteingabe programmieren. Es besteht auch die Möglichkeit das Script mit Strg C zu kopieren und Strg V einzufügen. Hat man Codehinweise aktiviert erscheint nach Eingabe gewisser Codefragmente automatisch ein Flyoutmenü, aus dem man weitere Optionen auswählen kann. Man kann auch eine Aktion aus dem linken Menü auswählen und doppelklicken, um sie im Scriptfenster einzufügen. 2 weitere nützliche Buttons sind Syntax überprüfen (ein Ausgabefenster weist auf eventuelle Fehler hin) und AutoFormat (die Actions werden übersichtlich formatiert, fehlende Strichpunkte werden hinzugefügt)

Mit aktivierter Scripthilfe oder Normalmodus wählt man eine Aktion aus einem der Ordner (links) aus und klickt sie entweder doppelt an oder wählt das + Zeichen. Mit dem - Zeichen oder der Entf Taste kann man sie wieder löschen. Die Ordner kann man ein- und ausblenden über den kleinen Pfeil auf der vertikalen Leiste zwischen beiden Bereichen.
Die zugewiesene Aktion erscheint im Bedienfeld rechts, dort kann man sie durch Anklicken auswählen und oben im Bedienfeld weitere Einstellungen vornehmen. Dieser Parameterbereich befindet sich in Flash 5 unten. Deswegen werden Hinweise darauf in diesem Tutorial mit oben/unten gekennzeichnet. Die SWF Beispielfilme habe ich diesbezüglich nicht geändert.

 

Suchen/ Ersetzen Ab Flash MX hat man nun auch die Möglichkeit nach Code zu suchen und automatisch zu ersetzen, (Lupensymbol oben).
Referenzen/ Hilfe Hier werden alle Actions erklärt. Flash 8< klicke auf ?, Flash MX > klicke auf das Buchsymbol. Wähle eine Aktion im linken Bereich der Aktionenfensters aus und klicke dann auf den Button, um die entsprechende Hilfe anzuzeigen.
Zielpfad einfügen (Zielscheibensymbol) Alle Instanzen des Flashfilms können hiermit auf einfache Art referenziert werden. Siehe dazu Instanzen referenzieren

 

Zum Testen der Aktionen wählt man im Menü: Steuerung / Film testen oder klickt Strg Enter.

Hilfefenster Die Schriftgröße im Hilfefenster unter Windows ändert man folgendermaßen: irgendeinen Text im Hilfefenster markieren, Strg Taste drücken und Mausrad drehen. Andere Möglichkeit, die auch im Mac funktioniert, man ändert die Schriftgröße im Browser. ACHTUNG ! danach Flash neu starten.

 

Codehinweise auslösen

Flash zeigt Codehinweise an, wenn sie Instanzen mit dem entsprechenden Suffix benennen:

Geben sie beim Benennen einer Movieclip-Instanz immer das Suffix _mc ein, wie z. B. screen_mc.
Verwenden sie für das Benennen von Schaltflächen das Suffix _btn.
Verwenden sie für das Benennen von Textfeldern das Suffix _txt.

Hier eine Liste aller Suffixe die Codehinweise auslösen.

Codehinweise erweitern
Im Installationsverzeichnis von Flash die Datei:
de/first run/actionsPanel/actionscript_3/ActionsPanel_3.xm
sind diese Anhänge und Codehinweise hinterlegt. Zum Beispiel mit folgender Zeile:
<typeinfo pattern="*_mc" object="flash.display.MovieClip"/>
Diese Datei kann man erweitern, um Codehinweise anzuzeigen, die noch fehlen, beispielsweise für Boolean oder Number. Vorschlag: _boo für Boolean, _num für Number
<typeinfo pattern="*_boo" object="Boolean"/>
<typeinfo pattern="*_num" object="Number"/>

Man kann Variablennamen suffixe anhängen, um Codehinweise zu erhalten. Allerdings habe ich den Eindruck, dass das in neueren Flashversionen nicht mehr funktioniert.

Anhang / Endung Datentyp
_mc

MovieClip

_array Array
_str String
_btn Button
_txt TextField
_fmt TextFormat
_date Date
_pj PrintJob
_err Error
_cm ContextMenu
_cmi ContextMenuItem
_xml XML
_xmlnode XMLNode
_xmlsocket XMLSocket
_color Color
_cam Camera
_mic Microphone
_ns NetStream
_nc NetConnection
_so SharedObejct
_sound Sound
_video Video
_lc LocalConnection

 

Besonderheiten in Flash 4

Aufrufen des Aktionen Fensters: rechte Maustaste, Eigenschaften, Aktionen
Im sich öffnenden Fenster erscheinen die Aktionen durch Anklicken des + Zeichens oben links.
Hat man eine Aktion ausgewählt, kann man rechts weitere Optionen einstellen.
Bei einigen Aktionen erscheint ein Button für literal und einer für Ausdruck (ein button mit = Zeichen) Dort kann man auch den Ausdruck Editor aufrufen, wo man Actionscript per Tastatur eingeben kann oder durch Doppelklick auf die unten aufgelisteten Scriptelemente.
Filmsequenzen kann man in Flash 4 keine Aktionen zuweisen !!

Flash began als Animationsprogramm und wurde dann zu einem komplexen Multimediatool weiterentwickelt. Deswegen gibt es die Möglichkeit Aktionen in Schlüsselbildern der Zeitleiste einzufügen. Das bedeutet das diese Aktionen nach Ablauf einer gewissen Zeit ausgeführt werden. Eine anderer Möglichkeit ist Aktionen ereignisgesteuert auszuführen. Für fast alle Objekte gibt es Ereignisse, die zu bestimmten Zeitpunkten und unter gewissen Vorausetzungen ausgeführt werden.

 

Event Handler

Siehe auch Event Listener in AS3

Lese auch die Seite von Adobe: Verhalten in Actionscript und Ereignisprozedurmethoden verwenden

Ein Event Handler ist ein Ereignis Behandler, der bestimmt, durch welches Ereignis die Aktion ausgeführt wird. Mit jeder neuen Version von Flash kamen auch neue Event Handler hinzu. In Flash4 gab es nur Event Handler für Schaltflächen. In Flash 5 konnte man Event Handler Schaltflächen und Filmsequenzen zuweisen. Mittlerweile gibt es auch Event Handler, die nach Abspielen eines Sounds oder nach einem Ladevorgang ausgeführt werden. In Schlüsselbildern braucht man keine Event Handler, da die Aktionen ausgeführt werden, sobald das Schlüsselbild aufgerufen wird. Während man in Flash 5 und in Flash MX die Aktionen den Schaltflächen Filmsequenzen direkt zuwies, hat sich ab Flash MX 2004 eine andere Schreibweise eingebürgert. Siehe Aktionen SWF Beispiel.
Mit aktivierter Scripthilfe / Normalmodus wählt man die Schaltfläche oder die Filmsequenz aus und wählt im Aktionenfenster die gewünschte Aktion durch Doppelklick aus. Ein Event Handler wird automatisch zugewiesen.

on (release) {
Aktion1;
Aktion2;
Aktion3;
}

Klickt man den Event Handler an, z.B. on(release), so kann man oben (Flash MX/Flash8) oder unten (Flash 5) einen oder mehrere andere Event Handler auswählen. Besonderheit: Einer Schaltfläche kann man den Event Handler Tastendruck zuweisen.

 

Ab Flash 5 kann man auch folgende Methode wählen. Man wählt die Schaltfläche oder den Movieclip auf der Bühen aus und vergibt im Eigenschaftenfenster einen Instanznamen. Dann klickt man in ein Schlüsselbild der Zeitleiste und vergibt dort die Event Handler und die Aktionen für diese Instanz.

this.my_btn.onRelease = function() {

my_str = "blabla";

};

Man findet diese Event Handler unter Actionscrip2Klassen, Movieclip (oder Film), Button (oder Schaltfläche) oder Movieclip, Ereignisbehandler oder EventHandler

Man kann auch mehrere Event Handler zuweisen:

 

this.my_btn.onRelease =this.my_btn.onReleaseOutside = function() {

my_str = "blabla";

};

Die Auwahl der Instanz kann man im Aktionenfenster über das Symbol welches aussieht wie eine Zielscheibe machen.

Schaltflächen

Die Eventhandler werden den Instanzen der Schaltflächen vergeben nicht in den 4 Bildern der Schaltflächen, Aktionen aus diesen Bildern werden ignoriert, sie haben dort nichts zu suchen. Instanz einer Schaltfläche aus der Bibliothek irgendwo einfügen, Instanz anklicken, Aktion zuweisen. Es folgen die wichtigsten Event Handler, (oder siehe oben)

Tastendruck, Keystroke Ereignisse auf Tastendruck (Beispiel Fla Datei downloaden)

Ereigenisse auf Tastendruck steuert man am besten mit Ereigenis Listenern.

 

Es besteht aber auch noch folgende ältere Möglichkeit:

Platziere eine Schaltfläche auf der Bühne und weise dieser den Event Handler keystroke oder Tastendruck zu.

  1. eine Schaltfläche auf der Bühne platzieren
  2. Schaltfläche auswählen, recht Maustaste Aktion
  3. Aktion gewünschte Aktion wählen
  4. On release im Aktionenfenster anklicken
  5. ganz oben/unten Tastendruck anklicken, gewünschten Taste im Feld eingeben

Einige Besonderheiten sind zu beachten:

Ab Flash MX kann man auch ein Key-Object erzeugen, siehe dazu den Tipp Tastaturbefehle. und den Tipp onSetFocus, der Ereignisse bei der Auswahl von Textfeldern liefert.

 

Schaltflächen deaktivieren

Mittels enabled kann man Instanzen von Schaltflächen deaktivieren. Vergebe im Eigenschaftenfenster einen Instanznamen für eine Schaltfläche. z.B.: meinButton
über folgende Action kann man diese Instanz deaktivieren, so dass auch der Handcursor über dem Button verschwindet.

meinButton.enabled=false;

meinButton.enabled=true;

Mit "true" wird der Button wieder aktiviert. Ein praktisches Beispiel mit verschiebbaren Fenstern findet man im Beispiel "Drag Movieclip, Objekte verschieben" auf den letzten 3 Seiten des swf-Beispiels. Dort wird jeder Button, der von einmem Fenster verdeckt wird, deaktiviert. Ohne diese Deaktivierung, würde der Handcursor über den Buttons erscheinen, obwohl die Buttons vom darüberliegendem Fenster verdeckt werden.

Schlüsselbilder

die Aktionen hängen nicht vom User ab (kein Event Handler), sondern werden ausgeführt sobald das entsprechende Schlüsselbild erreicht wird. Schlüsselbilder mit Aktionen sollten eine eigene Ebene bekommen, das schafft Übersichtlichkeit.

Filmsequenz

Ab FlashMX kann man Filmsequenzen auch die Event Handler von Schaltflächen zuweisen. Gehe dazu in den Expertenmodus. Der Event Handler von Filmsequenzen beginnt mit onClipEvent der Event Handler von Schaltflächen beginnt mit on.

updateAfterEvent()

Diese Funktion aktualisiert den Bildschirm, auch zwischen zwei Frames. Wenn eine Aktion ausgeführt werden soll, die schon sichtbar ist, bevor das nächste Bild geladen ist. Man kann diese Funktion vor allen Dingen in Zusammenhang mit dem Event Handler onMouseMove einsetzen.

delete this.onEnterFrame;

Durch den EventHandler onEnterFrame wird eine Anweisung mit der Bildlaufrate des Films ausgeführt. Will man die Anweisungen stoppen, so kann man mittels delete den EventHandler vernichten.

meinMC.onEnterFrame = function() {
q._x++;
};

Ausführung stoppen

delete meinMC.onEnterFrame;

siehe auch Funktionen

swf Beispiel SWF anschauen oder download updateAfterEvent().fla NEU

Man findet die Action im Aktionebedienfeld im Ordner Globale Funktionen/ Movieclipsteuerung

 


Mausrad & scrollen/ onMouseWheel

 

swf Beispiel SWF anschauen oder download mausScroll().fla Flash8 NEU

Diese Thema kann man als Anfänger erstmal überschlagen.
Auf Windowsrechnern kann man in Flash auch das Scrollrad der Maus benutzen und das nicht nur in Textfeldern, sondern man man kann auch Movieclips bewegen oder andere Eigenschaften verändern. Man benötigt dazu ein Listener Objekt. Dieses Thema ist für Anfänger ein bisschen schwierig.

Textfelder brauchen eigentlich nur die Option rollbar. Ziehe ein Textfeld auf, wähle im Eigenschaftenfenster die Option "dynamisch" und "mehrzeilig" und "auswählbar". Wähle oben im Menü: Text/ rollbar. Nun hat man einen schwarzen Anfasser unten rechts, mit dem man die Größe des Textfeldes aufziehen kann. Füge deinen Text ein und teste oder veröffentliche den Film.

 

hier werden folgende aktionen erklärt:

onMouseWheel(), addListener(), removeListener(),

 

Ereignis-Listener

swf Beispiel SWF anschauen oder download listener.fla NEU

Diese Thema kann man als Anfänger erstmal überschlagen.
siehe hierzu auch die Infos von Adobe zum Listener Objekt

hier werden folgende Themen erklärt:

addListener(), removeListener(),

Ereignis Object in Actionscript 3

In Actionscript 3 werden Ereignisse auch mit Listeneren überwacht. Siehe dazu die Livedocs. Eine gewisse Verwandschaft zu den Listenern der UI Komponenten in Flash 8 ist zu erkennen.

swf Beispiel SWF anschauen eventObject.swf

 

Stop und Play

Mit den Aktionen Stop, Play, Goto kann man die Zeitleiste des Hauptfilms oder eines Movieclips steuern.

 

Wenn man eine Aktion einem Schlüsselbild zuweist, wird die Aktion ausgeführt, sobald das Schlüsselbild in der Zeitleiste erreicht wird. Die Aktionen beziehen sich auf die eigene Zeitleiste wenn nichts anderes angegeben ist, z.B. durch die Aktion gotoAndStop(1), geht der Abspielknopf zum ersten Bild der Zeitleiste in der sich das Schlüsselbild befindet und bleibt dort stehen.
Auch bei Schaltflächen beziehen sich die Aktionen auf die Zeitleiste, in welcher die Schaltfläche eingefügt wurde.
Anders jedoch bei Filmsequenzen, dort ist die Zeitleiste der Filmsequenz gemeint, der die Aktion zugewiesen wird. Um bei oben aufgeführten Beispiel zu bleiben, die Aktion gotoAndStop(1); bezieht sich auf die Zeitleiste der Filmsequenz, der die sie zugewiesen wird, es sei denn man bestimmt die Zeitleiste. Siehe dazu Instanzen ansprechen.

 

Film anhalten mit der Action Stop
Film abspielen lassen mit der Action Play

Go to

  1. Action wählen (rechte Maustaste oder Fenster Aktionen)
  2. Aktion Goto im rechten Fenster des Bedienfeldes auswählen (Basisaktionen)
  3. Go to doppelklicken oder +Zeichen wählen
  4. oben/unten im im Bedienfeld Aktion weitere Einstellungen vornehmen (evtl. kleiner Pfeil oben/unten rechts, Parameterbereich)
  5. Bild Nummer der Zeitleiste angeben,
    anstatt einer Bild Nummer kann man auch Bezeichnung wählen, Voraussetzung ist, man hat einem Schlüsselbild zuvor einen Namen gegeben, Bedienfeld Bild (Flash 4 Schlüsselbild, Eigenschaften, Bezeichnung)
    außerdem besteht die Möglichkeit, nächstes oder vorhergehendes Bild zu wählen, (prevFrame oder nextFrame)
  6. oben/unten Control: Go to and Play aktivieren oder deaktivieren, je nachdem ob der Film von dem Bild aus ablaufen soll, oder in dem Bild stoppen soll.
  7. eventuell gewünschte Szene angeben


Es ist auch möglich die Zeitleisten von Movieclipinstanzen anzusteuern.
siehe auch Navigation Spezial für kompliziertere Konstellationen


Get Url

Aktion wählen Get Url doppelklicken

Action:

getURL(Url, target, Variablenversenden);

Beispiel:

getURL("http://www.pastorpixel.de", "_blank", "GET");

Url relative oder absolute URL Adresse in Anführungsstrichen ( auch String genannt)
target Framefenster/ String, optional (muss nicht vergeben werden)
Variablen mit post oder get versenden/ String, optional

 

Im Normalmodus/ Scripthilfe

Url: Seite (z.B. index.htm) eintragen, es gelten die gleichen Gesetze wie in Html, also egal ob relativ oder absolut referenziert. Kein Haken bei Ausdruck.
Fenster: Namen des Framefensters eingeben, oder einen der Befehle aus der drop down Liste einfügen. Kein Haken bei Ausdruck. Das Feld Fenster hat die Bedeutung des html Befehls: target
Variablen: hat für "normale" links auf Html-Seiten keine Bedeutung und kann getrost auf nicht versenden stehen. Hast du schon mal mit einem Formular auf einer Html Seite Eingaben aus Textfeldern, dropdownMenues, Radiobuttons, etc. verschickt? Da hat man auch die Möglichkeit Variablen (Namen der Textfelder etc.) per post oder get zu verschicken. Genauso funktioniert das in Flash. Alle Variablen, die im Flashfilm (auf der entsprechenden Zeitleiste) definiert sind, werden versendet, wenn die Option get oder post ausgewählt ist. Die Variablen können im Actionfenster definiert sein oder ihre Werte aus Texteingabefeldern bekommen. Siehe dazu auch Email-Formular per CGI Wenn die Variablen mit get versendet werden, werden sie an die Url angehängt. Das kannst du in der Adresszeile des Browsers sehen. z.B.:
meineVariable=23, meineSeite.php
So sieht das dann Browserfenster aus.
meineSeite.php?meineVariable=23
(schon wieder diese 23 ?!!!??)

 

Selbstverständlich kann man auch mehrere Seiten in verschiedenen Framefenstern aufrufen, indem man den Befehl Get Url öfters wählt.

 

Sicherheitseinstellungen Flash 8 / Zielfenster in lokalen Framesets (offline)

 

Ab Flash 8 gibt es neue Sicherheitseinstellungen, die dazu führen, dass das Zielfenster in Framesets offline nicht erkannt wird. Stattdessen geht die Seite im neuen Browserfenster bzw. Tab auf. Näheres zu den Sicherheitseinstellungen hier:

http://livedocs.adobe.com

Zum einen kann und und muss man in den "Einstellungen für Veröffentlichungen" angeben ob eine Datei lokal oder aufs Netzwerk zugreift. Will man dass die Datei beides darf muss der User der Datei oder dem Ordner, in dem sie sich die Flashdatei befindet explizit die Erlaubnis erteilen. Das macht er über das Kontextmenü des Flashplayers "Einstellungen", dann "Erweitert" man gelangt auf eine Webseite und wählt dort "globale Sicherheitseinstellungen". Das müsste diese Seite sein.
http://www.macromedia.com/support/do...manager04.html
Auf dieser Seite stellt man die Sicherheitseinstellungen für den eigenen Flashplayer ein.
Dort wälhlt man "Bearbeiten/ Hinzufügen" und sucht den Ordner aus, in dem sich die Flashdatei befindet. Erst dann funktioniert der stinknormale Target Befehl in Framesets auch offline, sowohl für interne als auch externe Seiten im Netz. Super Sicherheit, echt benutzerfreundlich. Vielleicht gibt es noch eine bessere Lösung...?

Get Url aus dem Projetor heraus

Dieser Tipp ist nur für Windows Rechner.
Man hat mit Flash die Möglichkeit eine Standalone Application zu erstellen. Also ein Programm, welches man beispielsweise für CD Präsentationen einsetzt. (Datei / Einstellungen für Veröffentlichung / Windows Projector). Über fscommand kann die Anwendung im gesamten Fenster laufen. Hat man in einer solchen Anwendung einen getUrl Befehl, um einen Seite im Browser zu öffnen, so hat man ein Problem. Aber dank eines hilfreichen Menschen, kann man mit dem dem "Unilauncher" dieses Problem lösen. Die letzte Version unilauncher2.2 (aug 07) findet man auf Seite 12. Mit dem Unilauncher lassen sich auch beliebige Dateien öffnen.

 


Load / Unload Movie

(Beispiel Fla Datei downloaden)

Beispiel SWF anschauen oder download loadMovie.fla NEU

Siehe auch loadMovie mit AS3

loadMovie(url, stufe/ziel)
loadMovie(url, stufe/ziel, variablen)

Mittels loadMovie() hat man die Möglichkeit Inhalte auf mehrere swf Filme zu verteilen und diese in den Hauptfilm zu laden.

Dadurch kann man die Ladezeit reduzieren, indem nur das geladen wird, was auch aufgerufen wird. So ließe sich beispielsweise auch ein Hintergrundsound nachträglich laden.

Wenn alle Inhalte sowieso geladen werden sollen, macht es meiner Ansicht nach keinen Sinn, sie auf mehrere SWF Dateien zu verteilen. Eine Übersicht im Film kann man auch mit Szenen oder MCs erreichen.

Am Besten das importierte movie hat die gleiche Größe, andernfalls wird es in der linken oberen Ecke positioniert.

Der loadMovie Befehl wird asynchron ausgeführt. Das heißt er wird erst dann ausgeführt, wenn alle anderen Befehle im Bild abgearbeitet sind.

url

Der erste Parameter der Funktion, ist die Url oder der Pfad zum swf Film. Wie auch in Html kann der Pfad relativ oder absolut sein.
loadMovie("meinMovie.swf", _level0)
loadMovie("http://www.irgendeineDomain.com/irgendeinMovie.swf", _level0)

loadMovie("file:///meinOrdner/meinMovie.swf", _level0)

Wird der Film in eine Html Datei eingebunden muss man den Pfad von der Html Seite aus gesehen eingeben. Liegen Html-Seite und SWF-Film im gleichen Ordner macht es keinen Unterschied. Nehmen wird an, wir haben eine html Seite und im Ordner namens "swf" liegen alle SWF-Filme, so könnte der Befehl lauten: loadMovie("swf/meinMovie.swf", "_level1");

 

Ebene stufe oder ziel

Der zweite Parameter definiert die Ebene auf die der Film geladen werden soll.

Die Ebenen entsprechen nicht den bekannten Ebenen der Zeitleiste. Die Ebenen haben in Zusammenhang mit Load Movie eine andere Bedeutung. Will man mehrere Filme gleichzeitig laufen lassen, muss jeder Film eine eigene Ebene bekommen. Es kann jeweils nur ein Film in einer Ebene laufen. Ein auf gleicher Ebene geladener Film ersetzt den schon laufenden Film.

stufe

loadMovie("meinMovie.swf", "_level1");
loadMovie("meinzweitesMovie.swf", "_level2");

Überschneiden sich Objekte mehrere geladenen Filme liegt der Film mit der niedrigsten Nummer unten, während die anderen der Reihenfolge nach darüber liegen. Die Objekte von _level0 werden von den Objekten höher liegender Filme verdeckt.
Sonderfall Ebene0 der ganze Flash Film wird beendet und durch den geladenen ersetzt. Auch alle Filme, die auf anderen Ebenen liegen werden beendet. Es werden die Proportionen des ursprünglichen Films übernommen.
loadMovie(meinMovie.swf, "_level0");

Achtung!!! Aufpassen!!!

Wenn ein level noch nicht vorhanden ist und man gibt das level ohne Anführungsstriche ein, wird der Film auf _level0 geladen. Deswegen sollte man "_level1" oder "_level2" etc. immer in Anführungsstriche setzen, dann ist man auf der sicheren Seite.

 

ziel

Anstatt Ebene kann man auch Ziel wählen und hier den Instanznamen einer Filmsequenz angeben.
Die Filmsequenz wird durch den swf Film ersetzt,
Die linke obere Kante des swf movies wird am Mittelpunkt der Instanz ausgerichtet (zumindest so ungefähr).

 

Geladene Filme per Actionscript steuern

Man kann geladene SWF-Filme von anderer Stelle aus ansteuern, um beispielsweise die Zeitleiste anzusteuern.

_level1.gotAndPlay(10);

siehe Tell Target und Instanzen ansteuern, Pfade zu Instanzen und Leveln

der Pastor empfiehlt Wenn sich der Film auf einer anderen Domain befindet, kann er zwar geladen werden aber er muss erst eine Erlaubnis erteilen, wenn man ihn von einem anderen Level aus steuern will. Siehe dazu dieses swf-Beispiel Seite 5 System.security.allowDomain(domain1, domain2, domain3);

Ladestatus

siehe dazu Tipp Preloader
Wenn man den Ladestatus von einem anderen _level aus abfragt, sollte man in dem zu ladenden Film im ersten Bild eine Variable setzen und diese Variable abfragen. Somit wird der Ladestatus erst dann abgefragt, wenn die Kontrollvariable geladen ist. z.B.:

meinMovie.swf lädt den Film meinMovie2.swf auf _level1.
loadMovie(meinMovie2.swf, "_level1");
In meinMovie2.swf befindet sich im ersten Bild die Variable loadKontroll=true
In meinMovie.swf soll der Ladestatus angezeigt werden. Das Script sähe dann so aus.

_root.onEnterFrame = function() {
if (_level1.loadKontroll==true) {
_root.bytesLoaded = (_level1.getBytesLoaded());
}
};

siehe hierzu auch: Variablen, Funktionen, if Bedingungen

 

Film entladen, unLoadMovie()

unloadMovie(1);
unloadMovie("_level1");

unloadMovie("meinZiel");
Mit der Option "unload Movie" wird der geladenen Film wieder entfernt, dessen Ebene oder Ziel als Parameter in Klammern eingegeben wird. Die Befehle unloadMovie, und loadMovie werden asynchron ausgeführt, das heißt, nachdem alle anderen Befehle des Bildes ausgeführt wurden.

Unload Movie kann man auch dazu einsetzen, um Movieclip Instanzen zu löschen. Dabei wird der Inhalt gelöscht, die Instanz bleibt aber als leerer Container erhalten, in den sich andere Movies oder Bilder hineinladen lassen, siehe dazu Tipp attach Movie

 

Variable

loadMovie("meinMovie.swf", "_level2", "POST");
loadMovie("meinMovie.swf", "_level2", "GET");

Der dritte, optionale Parameter von loadMovie() bestimmt, ob Variablen mit der Methode POST, oder GET übertragen werden, siehe dazu etwas weiter unten Variablen an Flashmovie übertragen.

Variablen, nicht versenden (Normalmodus)
Wenn weder post noch get angegeben wird, werden die Variablen nicht gesendet.

 

Siehe auch Variablen aus Textdateien laden

 

Variablen an Flashmovie übertragen / loadMovieNum

Beispiel SWF anschauen oder download senden1.fla, get1.fla, senden1.htm
loadMovieNum ist fast identisch mit loadMovie, einziger Unterschied, hier kann man keine Filme in Movieclipinstanzen laden (ziel). Als Stufe gibt man entweder eine Zahl ein, oder einen String ein, siehe Beispiel:

loadMovieNum("meinMovie.swf", 1);

loadMovieNum("meinMovie.swf", 2);
Man kann auch einen Film auf Level 2 laden, wenn Level 1 noch nicht vorhanden ist.

 

In diesem swf-Beispiel wird erklärt, wie man Variablen aus einem Flashfilm an den nächsten Film, der mit load Movie geladen wird, überträgt. Dabei spielt es keine Rolle, ob der Film den vorhandenen Film ersetzt _level0 oder in den vorhandenen Film reingeladen wird. _level1, _level2.... siehe Instanzen referenzieren.

 

Ein anders Thema ist, Variablen an Filme zu übertragen, die in verschiedenen Framefenstern oder Playern laufen, siehe dazu localConnection

 

Externe Bilder in den Flashplayer laden

Ab Flash MX besteht auch die Möglichkeit jpg Bilder, mp3 sounds und videos mit der LoadMovie Action zu laden. Dadurch hat man mehr Möglichkeiten dynamische Filme zu erstellen. Gebe dazu einfach den Namen des Bildes (meinbild.jpg) und eventuell auch den Pfad zum Bild anstatt den Namen des swf Films ein.
Beispiel SWF anschauen oder download loadjpg.fla, loadjpg2.fla
Voraussetzung um dieses swf-Beispiel völlig zu verstehen, sind die Themen Variable, Instanzen von Filmsequenzen ansprechen und Eigenschaften von Filmsequenzen verändern

Das zweite Beispiel loadjpg2.fla ist für den Anfänger vielleicht ein bisschen schwierig. Es dient dazu Bildgrößen per Actionscript zu bestimmen, auch wenn man nicht weiß, wie groß das geladenen Bild ist.


Instanzen von Filmsequenzen adressieren

MC adressieren, Instanzen ansprechen, Movieclips ansteuern, Zielpfad einfügen

 

Beispiel SWF anschauen oder download pfade1.fla
swf Beispiel pfade.swf Beispiel SWF anschauen  pfade.fla
oder download pfade1.fla, pfade.fla
Siehe auch diese Seite von Html World Hierarchie eines Flashfilms
Hinweis! Wenn man die Themen dieser Seite der Reihe nach lernt, kann es nicht schaden, an dieser Stelle die Themen Variablen und if-else anzulesen, um die Grundzüge zu verstehen.
Hier geht es darum, die Zeitleiste einer MC Instanz zu bestimmen, die angesteuert werden soll. Man kann Filmsequenzen in andere Filmsequenzen einbetten (verschachteln) und diese gezielt per Actionscript ansprechen, um beispielsweise deren Zeitleiste zu stoppen oder auch um Eigenschaften der Filmsequenz zu ändern. Auch Filme die mittels Load Movie geladen wurden kann man ansteuern.
Beim Testen des Films (Steuerung/ Film testen oder Strg+Enter) kann man sich alle Variablen und Instanzen anzeigen lassen. Drücke Strg+Alt+v

Es gibt verschiedene Möglichkeiten auf die Instanzen von Movieclips oder anderen Symbolen zuzugreifen.

Im Actionfenster gibt es oben ein Symbol in Form einer Zielscheibe. Hier bekommt man alle zur Verfügung stehenden Instanzen, denen man einen Instanznamen zugewiesen hat, aufgelistet. Es gibt 2 Möglichkeiten der Referenzierung "absolut" und "relativ". Durch Auswählen eines Symbols wird eine Referenz auf das Symbol im Actionfenster eingefügt. z.B.:

Object(_root).mein Symbol.

Manchmal ist es erforderlich, dass ein String zu einer Referenz auf ein Symbol ausgewertet wird. Beispielsweise in for-Schleifen. Mittels der eval() Funktion ist das möglich.

eval("_root.meinSymbol")._visible = false;

oder ein Symbol mit dem Instanznamen mc1

eval("this.mc"+1)._alpha = 60;

Eine weitere Möglichkeit bietet der Array Zugriffsoperator:

Object(this)["mc"+1]._alpha = 60;

oder ein MC mit Instanzname mc1 im Hauptfilm

Object(_root)["mc"+1]._alpha = 60;

 

 

Wofür braucht man das?
  1. Beispiel SWF anschauen
    In der Filmsequenz (Movieclip, MC) Auto, fügt man 2 Instanzen einer Filmsequenz Rad ein, in der sich ein Rad mittels Tweening ständig dreht. Das Auto, im Hauptfilm, bewegt man mittels Tweening von links nach rechts, und lässt es am rechten Rand anhalten. Die Räder, welche in der Filmsequenz Auto eingebettet sind, bleiben jedoch nicht stehen. Damit nun auch die Räder stoppen, müssen die MCs rad1 und rad2 angesprochen werden. Dann wird mit der Aktion stop() die Zeitleiste der jeweiligen Instanz angehalten.
  2. Beispiel SWF anschauen
    Die Infotexte (zur Startseite, alles über mich....) liegen alle in einzelnen Schlüsselbildern einer Filmsequenz Instanzname: info_mc. Mit Event Handler onRollover wird info_mc angesprochen und eines der Schlüsselbilder mit gotoAndStop() aufgerufen. Bei onRollout wird das erste Bild von info_mc aufgerufen, in der sich kein Text befindet. Die einzelnen Tweenings liegen in der Hauptfilmzeitleiste und werden mittels Event Handler onRelease und der Action gotoAndPlay() angesteuert.
  3. Beispiel SWF anschauen
    In diesem Beispiel werden Movieclip Instanzen zur Spielprogrammierung genutzt. Klickt man auf eine bestimmte Schaltfläche, geht eine Instanz welche im ersten Bild keine Inhalte hat, also unsichtbar ist, zu Bild2, in der ein Schlüsselsymbol hinterlegt ist. Außerdem wird das zweite Bild der Filmsequenz Tuer aufgerufen. Dort liegt eine unsichtbare Schaltfläche, die auf Mausklick die Zeitleiste der Tuer mit einer Tweening Animation abspielt, also das Öffnen der Tuer. So konnte man schon in frühen Flashversionen, ohne if-Bedingungen derart komplexe Spiele realisieren.

es folgt eine Schritt für Schritt Anleitung

  1. Filmsequenz im Hauptfilm erschaffen, (F8)
  2. rechte Maus, Bearbeiten
  3. im ersten Schlüsselbild befindet sich gar nichts, nur die Action, stop wird vergeben
  4. in der Zeitleiste erstelle ich mir mehrere Schlüsselbilder, mit jeweils einem anderen Text oder einem anderen Bild. Achte darauf das die Elemente im Mittelpunkt des MCs liegen.
  5. zurück zum Hauptfilm Bearbeiten, Dokument bearbeiten
  6. Filmsequenz an die gewünschte Stelle setzen, da im ersten Bild kein Inhalt ist, sieht man nur einen kleinen Kreis
  7. Filmsequenz auswählen, (Achtung aufpassen, dass nur die Filmsequenz ausgewählt ist), Instanz Name vergeben. (Bedienfeld Instanz) mit Enter bestätigen !!!!!! (häufiger Anfängerfehler, daher überprüfen, ob der Instanzname auch wirklich zugewiesen wurde, indem man auf eine leere Stelle klickt und dann nochmal auf die Filmsequenz)
  8. Schaltflächen erschaffen, auswählen, Aktion Bedienfeld aufrufen
  9. (Flash 4 lese unten weiter) Aktionenbedienfeld, im Normalmodus wähle Objekte/ Film/ Movieclip/ Methoden/ und klicke doppelt auf gotoandPlay oder gotoandStop
  10. gebe im Feld Parameter die Bildnummer des MCs ein, die aufgerufen werden soll, also das Bild, welches den Infotext für den entsprechenden Button enthält
  11. klicke in das Feld Parameter und dann auf das Zielscheibensymbol (Zielpfad einfügen)
  12. aktiviere unten im Menü die Optionen Punkte und absolut mehr dazu siehe Ebenen ansteuern
  13. klicke dann auf den gewünschten Instanznamen, unter Ziel erscheint _root.instanznamedeinesmcs, bestätigen mit okay
  14. klicke nun auf den Event Handler onrelease und deaktiviere oben "loslassen" und aktiviere "rollover"
  15. Soll der Text verschwinden, sobald der Mauszeiger außerhalb des buttons ist, klickt man im Aktionenbedienfeld auf die letzte Zeile und wiederholt die Prozedur ab Punkt 9 mit folgenden Änderungen: Punkt 10 wähle hier Bild1, Punkt 14 aktiviere wegrollen, darüberziehen, außerhalb loslassen.
  16. Man kann sich die ganze Aktion kopieren und in der nächsten Schaltfläche einfügen, dann muss man lediglich die Bildnummer (Punkt 10 ändern).



Flash4 ab Punkt9

 

Filmsequenz Instanzen referenzieren

Schrägstrich Syntax Punktsyntax

Beispiel SWF anschauen  pfade.fla
Siehe auch Flashnavigation mit Prototype

Um allen Missverständnissen vorzubeugen, hier sind nicht die Ebenen in der Zeitleiste gemeint, die kann und braucht man nicht ansteuern. Hier geht es darum Instanzen von Filmsequenzen (Movieclips) anzusprechen, wobei die Filmsequenzen ineinander verschachtelt sein können, sofern man in einer Filmsequenz eine andere Filmsequenz eingebettet hat. Dadurch erhält man ein hierarchisches System, wobei die Hauptfilmzeitleiste die unterste Ebene darstellt. Eine Movieclip Instanz im Hauptfilm läge somit eine Ebene höher. Eine MC Instanz die in dieser MC Instanz enthalten ist, läge 2 Ebenen höher.
z.B.

2 Ebenen höher
(Schrägstriche)
/ebene1/ebene2 eine Filmsequenz, die in einer Filmsequenz liegt, vom Hauptfilm aus ansteuern
Hauptfilm _root ab Flash 5 kann man mit _root die tiefste Ebene also den Hauptfilm ansteuern
vom Hauptfilm aus
absolute Referenzierung
(Punktsyntax)
_root.instanz1.instanz2 Mit root kann man auch andere Filmsequenzen ansprechen, in diesem Beispiel liegt instanz1 im Hauptfilm während instanz2 in instanz1 integriert ist, diese Referenzierung ist absolut, das heißt, sie kann von jeder beliebigen Ebene oder Filmsequenz aus vorgenommen werden.
eine Ebene tiefer
(Schrägstriche)
../ebene 1.) von einer Filmsequenz aus, die im Hauptfilm liegt, den Hauptfilm ansteuern
2.) von einer Filmsequenz, die in einer Filmsequenz liegt, die Filmsequenz ansteuern, in der die andere eingebettet ist, also die Eltern-Filmsequenz
eine Ebene tiefer _parent ab Flash5 kann man durch _parent eine Ebene tiefer gehen,

Ab Flash 5 kann man anstatt der Schreibweise mit Schrägstrichen auch die Punkt Syntax verwenden, das heißt anstatt Schrägstriche werden Punkte verwendet, genau, wie in Javascript.
Ab Flash8 bzw. Actionscript2 wird keine Schrägstrichsyntax mehr verwendet.

In Flash 5 oder Flash MX kann man den gewünschten Pfad mit dem Zieleditor des Aktionenfenster einstellen. Im Bedienfeld Aktion gibt es ein Symbol, das wie eine kleine Zielscheibe aussieht "Zielpfad einfügen". Nachdem du eine Aktion gewählt hast, klicke zuvor einmal in das Zieleingabefeld und dann auf das Zielscheibensymbol. Es öffnet sich der Zieleditor.

Dort kann man zwischen Punktsyntax und Schrägstrichen wählen, außerdem kann man den Pfad relativ oder absolut angeben. Es gibt hier 2 Aliase _root bedeutet die unterste Filmebene oder Zeitleiste und _parent bedeutet eine Ebene zurück. Hier ein Beispiel folgende Aktion wird einem Movieclip zugewiesen, welcher dann auf Mausklick den Hauptfilm stoppt.

onClipEvent (mouseDown) {
_root.stop();
}

_root bedeutet, wir befinden uns auf der Hauptfilmzeitleiste, die durch die Aktion stop() gestoppt wird.
Eine Filmsequenz, die in einer Filmsequenz eingebettet ist, könnte mit _parent die Filmsequenz, die eine Ebene tiefer liegt ansprechen. Anstatt der Aktion stop() in diesem Beispiel kann beispielsweise auch der Instanzname einer anderen Filmsequenz hinter _root. stehen, um diese mit einer folgenden Aktion anzusprechen. Hier ein Beispiel, wo anstatt, TellTarget die Aktion with verwendet wird.

onClipEvent (mouseDown) {
with (_root.quader) {
gotoAndStop (5);
}
}

Auch diese Aktion wurde einer Filmsequenz zugewiesen. mit with (_root.quader) wird die Filmsequenz mit Instanznamen "quader" angesprochen, welche im Hauptfilm eingebettet ist. Alle Befehle zwischen den geschweiften Klammern von with(){} beziehen sich auf die angesprochene Filmsequenz.
Eine andere Schreibweise wäre:
_root.quader.gotoAndStop (5);

 

SWF-Filme, die mit loadMovie gealden wurden, ansteuern.

siehe Load Movie
Sonderfall! SWF-Filme, die mit der Action Load movieclip geladen wurden, kann man auch ansteuern,
Hier kann man im Ziel Eingabefeld die Bezeichnungen _level0, _level1, _level2 usw. angeben, das entspricht den Ebenen der geladene Filme _level0 ist der Hauptfilm Beispiel SWF siehe TellTarget
Anstatt _level0 kann man auch _flash schreiben, aber das ist eine undokumentierte und seltene Schreibweise.
Beispiel:
Wir haben einen swf-Film der mit load Movie auf Stufe 1 geladen wurde und wollen dessen Hauptfilmzeitleiste in Bild 5 stoppen:
_level1.gotoAndStop(5);

Wird der SWF-Film von einer anderen Domain geladen, muss er die Erlaubnis erteilen, bevor man ihn ansteuert. siehe dazu den Tipp: Zugriff erlauben


Eigenschaften, Properties

Eigenschaften von Filmsequenzen verändern

Beispiel SWF anschauen oder download properties.fla
mit der Aktion set properties kann man Symbolen bestimmte Eigenschaften zuweisen, wie z.B. Transparenz, Position, Weite, Höhe, sichtbar / unsichtbar, Rotation, Instanzname etc. (Beispiel Fla Datei downloaden)

  1. eine Filmsequenz erschaffen (Taste F8)
  2. Instanz name vergeben: Bedienfeld Eigenschaften oder
    Flash 5 Bedienfeld Instanz, Flash4 Symbol rechte Maustaste, Eigenschaften, Instanz Name (unten), irgendeinen Namen eintragen
  3. in diesem Beispiel wird in einem Schlüsselbild der Zeitleiste die Aktion vergeben, um die Eigenschaft der Filmsequenz zu ändern. Klicke dazu das Schlüsselbild an
  4. Aktion vergeben : Bedienfeld Aktionen
  5. Flash MX umschalten in Expertenmodus
  6. Zielscheibensymbol im Aktionenbedienfeld anklicken und gewünschte Filmsequenz Instanz auswählen
  7. Punkt dahinter schreiben
  8. Eigenschaft auswählen Ordner
    FlashMX Eigenschaften
    FlashMX2004 integrierte Klassen/Film/ Movieclip/ Eigenschaften
  9. gewünschte Eigenschaft auswählen (siehe Tabelle)
  10. hinter die Eigenschaft ein Gleichheitszeichen und gewünschten Wert eintragen. z.B.
    _root.meinMC._x=20

Action

Eigenschaft

Eigenschaft von

Definition

    MC = Filmsequenz
Movie = SWF-Film
 

_x

X Position

MC

der horizontale Abstand zwischen dem Mittelpunkt einer Filmsequenz und der linken oberen Ecke der Bühne, in Pixeln

_y

Y Position

MC

der vertikale Abstand zwischen dem Mittelpunkt einer Filmsequenz und der linken oberen Ecke der Bühne, in Pixeln

_width

Weite

MC, Movie

die Weite eines Objekts in Pixeln
(Beispiel Fla Datei downloaden) (siehe properties)

_height

Höhe

MC, Movie

die Höhe eines Objekts in Pixeln

_rotation

Drehung

MC

Drehung, Wert in Grad

_target

 

MC

ermittelt die genaue Schreibweise, die man bei Tell Target einsetzt siehe swf Abfragen

_name

Name

MC

Instanzname wird geändert oder ermittelt

_url

 

MC, Movie

ermittelt den genauen Pfad zu einem .swf Movie, kann man dazu einsetzen, dass der Flashfilm nur auf dem eigenen Server angezeigt wird, (na ja, wer es braucht) siehe _url überprüfen

_xscale

Weite

MC, Movie

die Weite einer Filmsequenz Instanz (oder swf Film) prozentual
auch prozentual zur Weite des Hauptfilms

_yscale

Höhe

MC, Movie

die Höhe eines Filmsequenz Instanz (oder movie) prozentual
auch prozentual zur Weite des Hauptfilms

_currentframe

 

MC, Movie

ermittelt die Zahl des momentanen Bildes eines Flashfilms oder einer Filmsequenz Instanz. (also dort wo der Abspielknopf gerade steht)
(Beispiel Fla Datei downloaden) (siehe Zeitleiste rückwärts

_totalframes

 

MC, Movie

ermittelt die Zahl aller Bilder einer Zeitleiste einer Filmsequenz

_framesloaded

 

Movie

ermittelt die Zahl aller Bilder die runtergeladen wurden
siehe preloader

_alpha

Transparenz  

der Wert der Durchsichtigkeit einer Filmsequenz oder Flashfilm in Prozent, dabei ist 100 komplett undurchsichtig und 0 komplett durchsichtig
(Beispiel Fla Datei downloaden) (siehe properties)

_visible

Sichtbarkeit

MC, Movie

.1 ist sichtbar, 0 ist unsichtbar, Die Werte true und false sind auch möglich.
Beachte: Schaltflächen in unsichtbaren Filmsequenzen funktionieren nicht

_droptarget

 

MC

ermittelt den Namen der letzten Filmsequenz auf den ein Drag Movie Clip abgelegt wurde, oder anders ausgedrückt: Bewegt man eine Filmsequenz mit startdrag kann man mit der Eigenschaft droptarget, ermitteln, über welcher anderen Filmsequenz sich die Maus (bzw. die Filmsequenz) befindet. (Beispiel Fla Datei downloaden) SWF Beispielfilm anschauen droptarget.fla

_highquality

Hohe Qualität

Movie

wird nicht mehr verwendet. Darstellungsqualität des gesamten Films
setProperty ("_level0", _highquality, 2);
Werte sind 0 oder 1 oder 2, Ab Wert 1 wird Anti Alias aktiviert. Anti-Aliasing bewirkt die Kantenglättung von Objekten und verlangsamt die Filmwiedergabe.
Mit der Aktion "Toggle High Quality" kann man die Darstellungsqualität auch umschalten.

_quality Darstellung Anti Alias
_qualitiy="LOW";
Movie Ab Flash 5 soll man anstatt _highquality die globale Eigenschaft _quality wählen. Werte sind LOW, MEDIUM, HIGH, BEST siehe auch

_focusrect

 

Fokussierrecht- eck einblenden

 

AS3 stage.stageFocusRect = false; 

Movie

Zeigt ein gelbes Rechteck um eine Schaltfläche, wenn er mit der TAB Taste ausgelöst wird, Standard ist show, wenn der Wert auf 0 gesetzt wird, wird nur der rollover Status einer Schaltfläche angezeigt. Bedienung per Tastatur wird vereinfacht
SWF Beispiel anschauen focusrect.fla

AS3
stage.stageFocusRect = false; 

tabIndex

Tabulator-reihenfolge

meinTextfeld.tabIndex=1;

Movie
Textfeld
Button
Mit dieser Eigenschaft kann man die Tabulatorreihenfolge bestimmen. Tabulatortaste.
swf SWF Beispiel anschauen tabulator.fla

_soundbuftime

Zwischen- speicherzeit für Sound:

Movie

Die Anzahl der Sekunden die verstreicht, bevor der sound gestartet wird (preload), Standard ist 5 Sekunden

.scroll

 

Text Field Variable

Die oberste Zeile der sichtbaren Region einer Textfield Variable. Diese Eigenschaft kann gelesen und gesetzt werden, beispielsweise um die nächste Zeile anzuzeigen:
Set Variable: "meinText.scroll" = meinText.scroll+1
(Beispiel Fla Datei downloaden)

.maxscroll

 

Text Field Variable

wird nicht mehr verwendet.
Bestimmt die Anzahl der Zeilen, einer Textfield Variablen und zwar wird der Wert untersten Zeile, der in der obersten Zeile, der sichtbaren Region des Textfields angezeigt werden kann, herausgegeben.
(Beispiel Fla Datei downloaden) (siehe scrolltext.fla)

Get Property

Eigenschaften von Filmsequenzen abfragen

man kann nicht nur Eigenschaften vergeben, sondern auch welche abfragen mit get property, (ab Flash5 lese unten weiter)
Die Aktion befindet sich im Bedienfeld Aktion im Ordner Funktionen
oder man kann es per Hand eingeben die Schreibweise ist
getProperty ( target, property)
Unter Target wird der korrekte Pfad zur Filmsequenz, Ebene oder Instanz-Name in Anführungszeichen angegeben,
Unter property wird die Eigenschaft angegeben

Man kann Set Property mit Get Property kombinieren, im folgendem Beispiel wird die y Position von mc1 der x Position von mc2 zugewiesen
setProperty ("mc2", _x, getProperty ( "mc1", _y));

Flash 5 oder höher
Ab Flash 5 kann man auf die GetProperty Action verzichten, da man die Eigenschaft einer Filmsequenz durch die einfachere Schreibweise mit Punktsyntax, abfragen kann.
Siehe Ebenen ansteuern
Das Ganze wird dann beispielsweise so geschrieben
_root.instanzname._y
Damit wird die vertikale Position einer Filmsequenz Instanz zurückgegeben.
Im Folgenden wird die horizontale Position _x der Instanz mc2 durch die vertikale Position _y von Instanz mc1 bestimmt.
setProperty ("mc2", _x, _root.mc1._y);
oder noch besser in Punktsyntax
mc2._x=_root.mc1._y;


Drag Movieclip

Filmsequenzen verschieben, Mausposition bestimmen, eigener Mauszeiger, verschiebbare Fenster

(Beispiel Fla Datei downloaden)und dragmovie_5.fla
Symbol welches den Bewegungen des Mauszeigers folgt.
Beispiel SWF anschauen oder download
siehe auch AS3 Beispiel startDrag dropTarget

  1. eine Filmsequenz erschaffen (Taste F8)
  2. Instanz name vergeben: im Eigenschaftenfenster
  3. in der Zeitleiste Schlüsselbild auswählen, Aktionen Fenster +Zeichen, startDrag Aktion zuweisen,
    FlashMX, Aktionenordner Aktionen/Movieclipsteuerung
  4. Ziel Instanz Name der Filmsequenz angeben (siehe 2), z.B.: meinMC_mc
    Maus zentrieren anklicken, damit das Symbol direkt auf dem Mauszeiger liegt
  5. die Aktion sieht dann folgendermaßen aus
    startDrag("_root.meinMC_mc", true);
  6. Damit der eigentliche Mauszeiger verschwindet fügen noch folgende Aktion hinzu
    Mouse.hide();
    FlashMX, Aktionenordner: Objekte/ Film/ Maus/ Methoden
startDrag(); stopDrag; _root._xmouse; Movieclip._xmouse, _root._ymouse; Movieclip._ymouse; Mouse.hide(); Mouse.show(); Movieclip.swapDepths(); instanzButton.enabled=true;

 

Drag and drop

Objekte per Mausklick verschieben, Fenster verschieben

Unter drag & drop versteht man, ein Symbol, welches man anklickt, mit gedrückter Maustaste zu verschieben und durch Loslassen der Maustaste wieder abzulegen.

  1. Eine Filmsequenz erschaffen
  2. Eigenschaften-Fenster, Instanz Name vergeben, z.b. meinFenster_mc
  3. Filmsequenz Symbol, rechte Maustaste, Bearbeiten, oder doppelklicken
  4. im Bild1 der Filmsequenz eine Schaltfläche erstellen, sie kann die obere Leiste deines Fensters sein
  5. diese Schaltfläche auswählen , Fenster/ Aktionen , startDrag() zuweisen. Wir befinden uns immer noch im Bearbeitungsmodus der Filmsequenz. In FlashMX befinden sich die drag-Aktionen im Ordner Aktionen/ Movieclipsteuerung
  6. Einstellungen der Aktion im Normalmodus Flash5/ FlashMX:
    start drag operation, wählen
    das Feld hinter Ziel: wähle eine der folgenden 3 Möglichkeiten
    1.) leer lassen, gar nichts eintragen startDrag("");
    2.) Zielpfad zur Instanz der Filmsequenz eintragen (siehe2) startDrag(" _root.meinFenster_mc");
    3.) Ausdruck anhaken und this eintragen startDrag(this);
  7. Statt on (release), on (press) wählen (Event Handler für Schaltflächen)
    on (press) {
    startDrag("");
    }
  8. die letzte geschweifte Klammer der Aktion markieren (linke seite), +Zeichen, die Action: stopdrag wählen,
    hier muss on (release) als event handler gewählt sein, damit beim Loslassen der Maus, die Ziehbewegung stoppt.
    on (release) {
    stopDrag();
    }
Hier werden folgende Aktionen erklärt:

startDrag(); stopDrag(); _xmouse, _ymouse; _root._xmouse; _root._ymouse; swapDepths();

der Pastor rät Bewegungen per Drag Movie aufzeichnen und abspielen siehe SWF Beispiel Array.

Droptarget

swf Beispiel SWF anschauen oder download droptarget.swf
Bewegt man eine Filmsequenz mit startdrag kann man mit der Eigenschaft droptarget, ermitteln, über welcher Filmsequenz sich die Maus befindet.


Duplicate Movieclip

swf Beispielfilm SWF anschauen oder download duplicatemovie.fla

Duplicate Movieclip wurde in AS3 ersatzlos gestrichen aber es geht auch anders. Hier das Beispiel der letzten Seite in AS3.

der Pastor rätStudiere zuvor die Themen Variablen, if-else, Schleifen.

Filmsequenz duplizieren:

  1. Filmsequenz auf die Hauptbühne ziehen und auswählen
  2. Eigenschaftenbedienfeld, Instanzname vergeben / flash 5 Bedienfeld Instanz
  3. Irgendwo die Action Duplicate Movieclip vergeben
    duplicateMovieClip ("_root.mein_mc", "meinNeuer_mc", 1);

attachMovie() & createEmptyMovieClip

der Pastor rätStudiere zuvor die Themen Variablen, if-else, Schleifen.

attachMovie() Filmsequenzinstanzen aus der Bibliothek dynamisch plazieren
createEmptyMovieClip() eine leere MC-Instanz erstellen, um dynamische Inhalte während der Laufzeit zu generieren
removeMovieClip() Instanzen von MCs löschen (Achtung!! siehe auch Sonderfall getNextHighestDepth)
swf Beispiel SWF anschauen oder download attachMovie.fla

Siehe auch attachMovie mit AS3

 

Preloader oder Ladeanzeige und attach Movie

Achtung, wenn man große Teile des Flashfilms per attach Movie einfügt und eine Ladeanzeige auf der Seite hat, hat man das Problem, dass die Anzeige erst dann erscheint, nachdem die Attach-movieclips aus der Bibliothek schon geladen sind. Im ungünstigsten Falle also erst kurz bevor alles geladen ist.

Wenn bei der Verknüpfung in der Bibliothek die Option "ins erste Bild laden" gewählt hat, werden diese Inhalte noch vor allen anderen Inhalten geladen und somit auch vor der Ladeanzeige.

Es gibt 2 Möglichkeiten das zu umgehen:

 

  1. Erzeuge den Preloader im ersten Bild und alle weiteren Inhalte in einem zweiten oder höherem Bild. Gehe auf Datei / Einstellungen für Veröffentlichung, Flash, Actionscript 2, Einstellungen gebe unter "Klassen exportieren in Bild" die Bildnummer 2 oder höher an. In den Einstellungen der Movieclipklasse erscheint dann auch: "Export in Bild 2".
  2. Sollte diese Möglichkeit in Ihrer Flashversion nicht bestehen, gäbe es noch die Möglichkeit, in den Movieclipklassen die Option "Export in Bild 1" zu deaktivieren und Instanzen der Movieclips händisch auf die Bühne in Bild 2 zu ziehen. Der eigentliche Inhalt könnte beispielsweise in Bild 3 liegen und der Preloader sollte den Befehl erhalten zu Bild 3 zu gehen, wenn alles geladen ist.

der Pastor rät siehe auch Preloader

 


Gemeinsame Symbole der Bibliothek nutzen / shared library

swf Beispiel SWF anschauen oder download sharedlibr1.swf, sharedlibr2.swf


Movieclip.setMask() programmierte Maske (Flash 8)

der Pastor rätStudiere zuvor die Themen Variablen, Schleifen.

swf Beispiel SWF anschauen oder download programmierteMaske.fla

Movieclip.setMask(MCInstanz)Will man anstatt einer Maskeneben, einen MC bestimmen, der für einen anderen MC als Maske dienen soll, kann man ab Flash 8 die Aktion setMask() verwenden.
Die MC-Instanz welche unter der Maske zu sehen sein soll, bekommt die Aktion zugewiesen. Der MC welcher als Maske dienen soll, wird als Parameter in die Klammern eingefügt:

AS2

box_mc.setMask(circle_mc);

AS3

box_mc.mask = circle_mc;

 

AS2

MCInstanzBild.setMask(MCInstanzMaske);

AS3

MCInstanzBild.mask=MCInstanzMaske;

 

Maske mit Verlauf oder Transparenz

 

swf Beispiel SWF anschauen oder download maskeVerlauf.fla

Wenn man in beiden MC-Instanzen die Eigenschaft cacheAsBitmap auf true setzt, hat man die Möglichkeit auch eine Maske mit transparentem Verlauf zu definieren. Das kann man sehr schön dazu verwenden, um die bekannten Spiegelungen oder Glaseffekte mit Flash zu erzeugen. Bei Animationen ist diese Methode jedoch mit Vorsicht zu genießen.


Variable

Beispiel SWF anschauen Jetzt auch mit Beispiel variable.fla
(Beispiel Fla Datei downloaden)

Siehe auch Variablen mit AS3

Wichtig Lese unbedingt auch den Beitrag von Html World über Variablen.

Lese auch den Abschnitt bei Adobe über Datentypisierung und Variablen

Beim Testen des Films (Steuerung/ Film testen) kann man sich alle Variablen und Instanzen anzeigen lassen. Drücke Strg+Alt+v

 

Eine Variable ist ein Container für einen Inhalt, dessen Wert ermittelt wird, während der Film läuft. Der Container bekommt einen selbstvergebenen Namen (ohne Leerzeichen, beginnend mit einem Buchstaben, keine reservierten Begriffe aus Actionscript). Der Container ist immer der gleiche, der Inhalt kann sich ändern, er kann Zahlenwerte oder Buchstaben enthalten, während der Film abläuft, kann man: aufzeichnen oder speichern, was der User getan hat, wieviel Zeit verstrichen ist, welches Bild gerade läuft. Bei den Werten kann es sich um Strings, Zahlen, Arrays, Objekte, XML-Objekte, Datumsangaben oder um benutzerdefinierte Klassen handeln.

(siehe Get Properties)
Alles klar? Keiner hat's kapiert, vielleicht hilft folgendes Beispiel:
man könnte eine Variable mit Namen xyz definieren die den Wert 2 mal 3 enthält das wäre dann 6, genauso könnte man aber auch eine Variable definieren die den Wert 2 mal die Weite einer Filmsequenz enthält oder die Position oder was auch immer.
Man sollte keine Sonderzeichen, Umlaute und Leerzeichen in Variablennamen vergeben. Außerdem dürfen keine Begriffe die in Actionscript vorkommen benutzt werden. Wenn man deutsche Worte oder einfach nur Buchstaben benutzt, ist man auf der sicheren Seite. Die Regeln sind bei Html World genau beschrieben.

Eine Variable, die global, also für den ganzen Film definiert werden soll, schreibt man so /:namedervariablen
oder ab Flash MX auch so: _global.namedervariablen

Anhand des folgenden Beispiels wird bei jedem Mausklick auf einen Button einer Variablen ein Wert hinzugefügt:

  1. ein Textfeld erstellen,
  2. Name der Variablen folgendermaßen ingeben: Textfeld, Eigenschaften, im Feld Variable wird der Name der Variablen eingegeben die angezeigt werden soll. z.B. x ohne Anführungsstriche
  3. Im ersten Bild der Zeitleiste Actionfenster, schreibe:
    x=0;
  4. Schaltfläche erstellen
  5. Schaltfläche, (rechte Maus, Eigenschaften) Aktion vergeben, Set Variable,
  6. in den Feldern oben/unten folgendes eintragen Variable: x Wert: x + 1, der Wert muss auf Ausdruck stehen (Flash3 & 4 den "abc Zeichenfolge literal" button auf " = Ausdruck" stellen, ab Flash5 einen Haken vor Ausdruck machen)
  7. so müßte die Aktion der Schaltfläche aussehen
    On (Release){
    x = x + 1
    };

Anhand des folgenden Beispiels wird eine Variable definiert, die die horizontale und vertikale Position des Mauszeigers anzeigt.

  1. Füge 2 Bilder in der Zeitleiste ein.
  2. Gebe im ersten Bild der Zeitleiste folgenden Actionscriptcode im Actionfenster ein:
    x=_root._xmouse;
    y=_root._ymouse;
  3. Ziehe 2 Textfelder auf
  4. Weise im Eigenschaftenfenster anstatt "statischer Text" die Option "dynamisch" zu
  5. Gebe unter Variable den Variablenname x und im anderen Textfeld y ein.
  6. Teste den Film mit Steuerung/ Film testen und bewege die Maus.

siehe auch: Drag Movie Clip und programmierte Bewegung

 

Achtung

Im swf Beispiel befindet sich eine Seite, wo man mit Eingaben aus Eingabetextfeldern rechnet. Mit Flashplayer 7 oder tiefer war es möglich den Eingabefeldern einen Variablennamen zuzuweisen und diese Variablen mittels Number(Variable) in numerische Werte umzuwandeln. . In höheren Versionen mache folgendes. Vergebe den Textfeldern einen Instanznamen und wandele folgendermaßen die Eingaben um:

Ganzzahlen:

parseInt(meinTextfeld.text)

Fließkommazahlen:

parseFloat(meinTextfeld.text)

 

Testen ob eine Variable vorhanden ist

if (flashVarText != undefined) {
irgendeine Anweisung;
}

Wenn die Variable namens flashVarText vorhanden ist, wird die Anweisung ausgeführt. Oder anders ausgedrückt, wenn die Varible flashVarText nicht undefiniert ist, wird die Anweisung ausgeführt.

 

wichtigNoch ein Hinweis zu diesen Tipps. Da diese Sammlung sehr umfangreich ist und ich alles alleine mache, kann ich nicht alle Beispiele ständig auf den neuesten Stand bringen. In früheren Versionen war es nicht nötig den Startwert einer Variablen auf 0 zu setzen. Wenn man beispielsweise die Aktion x=x+1; irgendwo aufrief, bekam x beim ersten Aufruf dieser Aktion den Wert 1 zugewiesen. Das bedeutet, dass der Startwert automatisch 0 war. Das geht ab Flash 8 (Actionscrip2) nicht mehr so einfach. Hier muss x=0; zuvor definiert werden. Ist das nicht der Fall, erscheint undefined, noch nicht definiert. Wenn ihr in einigen Beispielen diesen Fehler findet, schreibt mir bitte, damit ich das korrigieren kann.

Außerdem ab Flash MX 2004 bzw. in Flash Actionscrip 2 sollten Variablen mit strikter Datentypisierung definiert werden.

var myVariable:Number = 10;

oder
var myVariable:String = "alle meine Entchen";

 

Arithmetische Operatoren

Die bekanntesten arithmetische Operatoren kennt wohl jeder aus dem Mathe Untericht
plus minus mal geteilt
+ - * /
Auch in Actionscript gilt Punktrechnung geht vor Strichrechnung. Auch Klammern lassen sich einsetzen:
x=(1+2)*3;

 

Inkrement und Dekrement

a=3;
a=a+1;

a hat den Wert 4. Mittels Inkrement geschieht das gleiche, der Wert wird um 1 erhöht.
a++
Dekrement bewirkt, dass der Wert um 1 verringert wird
a--

Wenn Inkrement oder Dekrement vor der Variablen steht, gilt es für die gesamte Anweisung oder Zeile:

Bei folgender Schreibweise kommt das dabei raus
a=4;
b=5;
 
erg = a + b++; erg = 9, b=6
erg = a+ ++b; erg=10, b=6;

 


Ausdruck oder String (Zeichenfolge)

string oder number
Wichtig siehe hierzu auch den Tipp Strings
In vielen Eingabefeldern des Normalmodus/ Scripthilfe gibt es die Option Ausdruck. Beispielsweise bei den Aktion set Variable, Get Url, Goto.

Hat man das Feld angehakt, ist "Ausdruck" gewählt, andernfalls" Zeichenfolge Literal".

Ist die Option deaktiviert erscheint die Eingabe in Anführungsstrichen. Was bedeutet das?

In vielen Programmiersprachen gibt es verschiedene Datentypen. Die beiden wichtigsten heißen sie string und number.
Im Wertefeld stehen Teile des Actionscripts, deren Wert ermittelt wird während der Film läuft.
Wenn ich beispielsweise 2+3 im Wertefeld eingebe, so könnte das Ergebnis 5 sein, oder es könnte 2+3 erscheinen.
Bei 5 würde es sich um "Ausdruck" handeln. Die beiden Zahlen werden als Werte angesehen, die ausgerechnet würden. Die Werte stehen nicht in Anführungsstrichen.
Bei "2+3" wäre es "Zeichenfolge, string". Die beiden Zahlen werden wie Buchstaben aneinandergereiht. Die Werte stehen im Actionscript in Anfürhungsstrichen.
Wichtig!! Will man eine Zeichenfolge (string) innerhalb eins Ausdruckes definieren, muss man sie in Anführungszeichen setzen und sie mit dem Verknüpfungsoperator + verbinden, zum Beispiel:

"2"+(5+3) ergibt die Zeichenfolge 27 also Zwei Sieben und nicht Siebenundzwanzig.

Mit number() kann man Zeichenfolgen in numerische Werte umwandeln. Um bei diesem Beispiels zu bleiben.

number("2"+(5+3)) ergibt den Wert 27 also Siebenundzwanzig

Will man mit Eingaben eines Texteingabefeldes rechnen, muss man sie mittels number() in numerische Werte umwandeln. Siehe dazu den SWF Beispielfilm Variablen.

Variablen können auch andere Datentypen beinhalten wie Arrays, Objekte etc.

Steuerzeichen

In Strings können Steuerzeichen eingesetzt werden, um beispielsweise neue Zeilen zu erzeugen:

\"     doppeltes Anführungszeichen
\'     einfaches Anrührungszeichen
\\     Backslash
\b     Backspace (Rückschritt)
\e     Escape-Sequenzen
\f     Seitenvorschub
\n     Zeilenvorschub (newline)
\r     Wagenrücklauf (Carriage return)
\t     horizontaler Tabulator

 

Will man eine dieser Zeichenfolgen in einem String benutzen muss der backslash vorangestellt werden.

weitere Infos zum Thema


Trace

trace ist ein Befehl, der nur im Ausgabefenster angezeigt wird, wenn man den Film oder eine Szene im Flash Programm testet (Strg Enter). Man sagt dazu auch Flash IDE oder die Entwicklungsumgebung von Flash.

Der Befehl soll bei der Erstellung eines Films helfen, den Code auf bestimmte Dinge hin zu überprüfen, beispielsweise: Eigenschaften von Filmsequenzen, Variablenwerte... etc. Folgender Befehl, einem MC zugewiesen, zeigt die horizontale Position des MCs beim Mausklick im Ausgabefenster an.
onClipEvent (mouseDown) {
trace(this._x);
}

 

Beim Testen des Films (Strg Enter), kann man sich alle Variablen und Instanzen anzeigen lassen. Drücke Strg+Alt+v

Es gibt eine flashlog.txt in der diese Ausgaben gespeichert werden unter Windows XP

C:\Dokumente und Einstellungen\username\Anwendungsdaten\Macromedia\Flash Player\Logs


if else und else if

Beispiel SWF anschauen oder download if.fla

Hier werden folgende Funktionen erklärt:

if(){}; else {}, else if{}, for(){}, Vegleichsoperatoren: ==, !=, <, >, <=, >=, Verknüpfungsoperatoren: &&, ||, Boolscher Wert: true, false

 

 

Hier werden Anweisungen nur dann ausgeführt werden, wenn bestimmte definierte Bedingungen erfüllt sind oder man könnte auch sagen, wenn ein mathematischer Ausdruck wahr ist.

var e:Boolean = true;

if(e) Anweisung;

Obige Anweisung wird ausgeführt, da e wahr ist.

Mehrere Anweisungen werden mit Strichpunkt getrennt und in geschweiften Klammern eingeschlossen. Die geschweiften Klammern stellen generell einen Anweisungsblock dar, in dem die Anweisungen von oben nach unten ausgeführt werden.


Eine if-Struktur gibt es in gleicher oder leicht abgewandelter Form in sehr vielen Programmiersprachen.
if (hier steht die Bedingung) {hier stehen die Anweisungen mit Strichpunkt getrennt, die ausgeführt werden, wenn die Bedingung erfüllt ist in geschweiften Klammern. }

if (z == 10) {
gotoAndPlay (2);
}

Hier dieses Beispiel mit der Beschreibung.

if (Bedingung) {
dieser Befehl wird ausgeführt, wenn die Bedingung erfüllt ist;
}

 

Man kann Bedingungen mit logischen Operatoren verknüpfen


der Pastor rät Studiere zuvor dieses sehr gute Tutorial bei bitmagie.de zu den logischen Operatoren

 

Die logischen Operatoren werden in Flash folgendermaßen geschrieben

  Flash Actionscript 1
AND && and
logisches ODER || or
NICHT ! not

 

Hier eine Liste zum Thema Operatoren

 

 

Hier einige Beispiele:

 

 

Im folgenden gibt es 2 Bedingungen die mit || verknüpft sind. Das bedeutet:

a) das eine oder das andere muss wahr sein
b )das eine und das andere muss wahr sein

a und b ist möglich.


Sofern die Bedingung true ergibt, werden die beiden Anweisungen in geschweiften Klammern ausgeführt.

Sofern die Bedingung false ergibt, wird die Anweisung hinter else ausgeführt.

 

if (Bedingung || Bedingung) {
dieser Befehl wird ausgeführt, wenn eine der beiden Bedingungen erfüllt ist;
dieser Befehl wird auch ausgeführt, wenn beiden Bedingungen erfüllt sind;
} else {
andernfalls passiert das;
}



Hier müssen beide Bedingungen erfüllt sein. In Flash 4 schrieb man "and". Jetzt schreibt man && Beides entspricht der Javascript Syntax.

 

if (Bedingung && Bedingung) {
dieser Befehl wird ausgeführt, wenn beide Bedingungen erfüllt sind;
} else {
andernfalls passiert das;
}


Dann gibt es noch else if. Dort wird eine weitere Bedingung definiert gefolgt von einer Anweisung oder einem Anweisungsblock. Man kann soviele "else if" hinzufügen wie man will. Wenn Bedingung 1 unwahr ist wird Bedingung 2 überprüft. Wenn Bedingung 1 wahr ist, wird die erste Anweisung ausgeführt. Weitere Bedingungen, die mit else if() folgen, werden nicht überprüft.


if (Bedingung1) {
dieser Befehl wird ausgeführt, wenn Bedingung1 erfüllt ist;
} else if (Bedingung2) {
dieser Befehl wird ausgeführt, wenn Bedingung2 erfüllt ist und Bedingung 1 nicht erfüllt ist;
}



Um das Ganze vollständig zu machen füge ich im Folgenden noch ein else am Ende ein.

if (Bedingung1) {
dieser Befehl wird ausgeführt, wenn Bedingung1 erfüllt ist;
} else if (Bedingung2) {
dieser Befehl wird ausgeführt, wenn Bedingung2 erfüllt ist;
} else {
dieser Befehl wird ausgeführt, wenn keine Bedingung erfüllt ist;
}

 

Hier noch ein Beispiel mit dem NICHT Operator !

var e:Boolean = false;

if(!e) Anweisung;

Diese Anweisung wird ausgeführt, da eine doppelte Verneinung wahr ergibt.
if(!e) bedeuet: wenn e nicht wahr ist.


Ab Flash 5 können kleinere If Abfragen auch so geschrieben werden

x = y<9 ? 4 : 6 ;
Es bedeutet
Variable= Bedingung ? dieser Wert wird der Variablen zugewiesen wenn Bedingung erfüllt ist : dieser Wert wird der Variablen zugewiesen wenn Bedingung nicht erfüllt ist

Das entspräche folgender if Abfrage

if (y<9){
x=4;
}else{
x=6;
}


For Schleife/ while Schleife

 

Siehe hierzu die Referenzen AS3 Schleifen

Beispiel SWF anschauen schleifen.swf

Will man Anweisungen in einer Schleife ausführen, kann man das mit der for-Schleife machen
for(i=1;i<10;i++) {
set ("var"+i, i);
}

In der For Schleife werden 3 Dinge mit Strichpunkt getrennt aufgeführt.


for(Zählvariable; Bedingung; Zählmuster){
hintereinander auszuführende Anweisung solange Bedingung erfüllt ist;
}

Der Aufbau der for-Schleife:

Die einzelnen Durchläufe oder Schleifen werden zwar hintereinander ausgeführt, aber man hat hier keine zeitliche Verzögerung, die in einer Schleife entsteht, die man in einem Schlüsselbild oder mit dem Event Handler enterFrame erstellt hat.

Wichtig For in Schleife siehe array letze Seite

While Schleife

In der while Schleife wird eine Bedingung definiert. Die Schleifendurchläufe werden erst gestoppt, wenn die Bedinung unwahr ist.
Außerdem gibt es noch die Möglichkeit mittels break die Schleife abzubrechen. Eine break Anweisung fügt man in eine If-Struktur innerhalb der while Schleife ein.

 

Hier werden folgende Aktionen erklärt:

for(); while(); break;

 

Switch Case

Eine weitere etwas ungewohnte Schleife ist switch case.

Im folgenden Beispiel wird die Variable raeder_num auf verschiedene Werte überprüft.
Die Schreibweise mit Doppelpunkt ist ungewohnt und man kann das gleiche auch mit if else erzeugen.

 

var raeder_num:Number = 3;

switch (raeder_num) {

case 4 :

trace("Sie fahren ein Auto!");

break;

case 3 :

trace("Sie fahren ein Dreirad oder Trike!");

break; case 2 :

trace("Motorrad oder Fahrrad ist Ihr Untersatz!");

break;

case 1 :

trace("Einrad-Fahrer?");

break;

default :

trace("Keines, drei, fünf oder mehr Räder. Und damit fahren Sie?");

}

 

 


Call

In Flash 5 gilt diese Aktion als veraltet. Stattdessen wird die Verwendung der Aktion function empfohlen.

Beispiel SWF anschauen
(Beispiel Fla Datei downloaden)
Mit call werden Schlüsselbilder einer beliebigen Zeitleiste aufgerufen siehe Instanzen ansprechen, jedoch wird hier nicht der gesamte Inhalt des Schlüsselbildes geladen, sondern lediglich, die in diesem Schlüsselbild vergebenen Aktionen.
Call dient dazu Routinen, also eine Reihe von Aktionen von verschiedenen Stellen aus, aufzurufen.
Man definiert gewünschte Aktionen in einem Schlüsselbild, (welches sich auch in einer Filmsequenz befinden kann)
um diese Aktionen aufzurufen, wählt man die Aktion Call, und gibt im Feld "Bild" das gewünschte Schlüsselbild an
das Schlüsselbild kann eine Zahl sein, oder der zuvor vergebene Name es Schlüsselbildes (Zeitleiste, Schlüsselbild, Eigenschaften, Bezeichnung)
befindet sich das Schlüsselbild in einer Filmsequenz, sieht die Schreibweise so aus
call ("Instanzname:Schlüsselbild");


Zeitleiste rückwärts

Es gibt zwar keine spezielle Aktion, um die Zeitleiste rückwärts ablaufen zu lassen. Aber mit der Aktion _prevFrame() in einer Schleife kann man diesen Effekt erzeugen, siehe Beispiel.
Beispiel SWF anschauen timeline_back.fla

Man kann die Zeitleiste dazu benutzen Animationen zu erstellen oder bestimmte Bilder in der Zeitleiste abzurufen. Man kann eine Zeitleiste aber auch dazu benutzen, um Aktionen in einer Schleife immer wieder aufzurufen. Genau das geschieht hier. In einem Schlüsselbild einer Filmsequenz steht der Befehl, im Hauptfilm ein Bild zurück zu gehen. Dieses Schlüsselbild wird immer wieder aufgerufen, und die Zeitleiste des Hauptfilms läuft rückwärts. Die Methode Schlüsselbilder in Movieclips zu gebrauchen, um Actionscript abzulegen und in Schleifen aufzurufen, wurde in älteren Versionen bis Version Flash 4 eingesetzt. Das funktioniert heute auch noch, aber mittlerweile es gibt Alternativen.

Auf der zweiten Seite des Beispiels wird eine zeitgemäßere Methode vorgestellt. Hierzu sollte man jedoch zuerst den Tipp "Funktionen" studieren, um die Prototype Funktion zu verstehen, welche das Verhalten des MCs verändert.


Zeitleisten Navigation spezielle Probleme

Beispiel SWF anschauen oder download nav.fla

Mittels Variablen werden die Werte für die anzusteuernden Bilder der Zeitleiste gesetzt. Dadurch lassen sich bestimmte Konstellationen von Tweenings und Movieclips realisieren. Durch Schaltflächen werden die anzusteuernden Bilder bestimmt, die dann zeitlich versetzt (also später nach Ablauf einer Animation) aufgerufen werden.


Get Timer

Ablaufzeit des Films abfragen

Beispiel SWF anschauen oder download getTimer2.fla
Die Funktion getTimer() übergibt den Wert der Zeit (in Millisekunden), die verstrichen ist, seit der Film startete.

Hier wird folgende Funktion erklärt:

getTimer(), setTimeout();

Hier wird nicht die Uhrzeit oder das Datum abgefragt siehe dazu Datum abfragen

 

setInterval clearInterval

Will man eine Funktion in bestimmten Zeitintervallen immer wieder aufrufen, bietet sich die Funktion setInterval an. Die beiden Parameter sind Funktionsname und Wert in Millisekunden.

function hopp():Void {
meinMc._x+=20;
}
var intervalID:Number = setInterval(hopp, 2000);

Mittels clearInterval kann man das Interval löschen. Als Parameter wird der Bezeichner der setInterval Funktion erwartet, die gelöscht werden soll.

clearInterval( intervalID );


Preloader / If Frame is loaded

Beispiel SWF anschauen preloader.fla

Viele Filme haben am Anfang eine Anzeige des Ladestatus. Der Film wird erst gestartet, wenn alles geladen ist. Flashfilme ohne programmierten Preloader haben den Vorteil, dass sie streaming-mäßig geladen werden, das heißt, der Film spielt schon ab, während der Rest noch geladen wird.


Ab Flash 5 gibt es die Aktion getBytesLoaded(), welche den Wert der heruntergeladenen Bytes übergibt und getBytesTotal(), welche die Gesamtgröße des Films übergibt. Eine Anzeige in kb müßte folgendermaßen aussehen
Math.floor(_root.getBytesLoaded()/10.24)/100
1Byte = 8 Bit also muss man durch 1024 teilen um kb zu erhalten. Um jedoch eine Anzeige mit Komma zu erhalten, wird zuerst durch 10.24 geteilt, das Ergebnis abgerundet Math.floor() und dann durch 100 geteilt.
Selbstverständlich kann man aus den beiden Aktionen mit einer einfachen mathematischen Formel eine Anzeige in Prozent erstellen. (geladene/gesamt)*100
Man muss kein Mathe Genie sein, um daraus folgende Formel zu erstellen:
Math.floor(_root.getBytesLoaded()/_root.getBytesTotal()*100)
Math.floor() bedeutet übrigens, dass das was in Klammern steht als Ganzzahl abgerundet wird siehe Mathe-Objekt, (im Swf Beispiel auf Seite 4). Übrigens, die veraltete Schreibweise ist int().

Achtung siehe auch attachMovie Sonderfall wenn große Teile per attach Movie eingefügt werden


In Flash 4 / veraltete Methode

Schlüsselbild, recht Maustaste Eigenschaften, Aktionen, / If frame is loaded
Szene und Bild Nummer angeben, auf dessen "cache load" gewartet werden soll
(um zu warten bis der gesamte Film geladen ist gibt man das letzten Bild der letzten Szene an)
+ Symbol, gewünschte Aktion vergeben, wahrscheinlich Go to
"Go to and Play"-Feld anklicken, gewünschten Szene und Bild Nummer wählen, wo der eigentliche Film startet.
Dann macht man in einem der nächsten Bilder ein Schlüsselbild mit der Action Go to auf das erste Bild des Films, also das Bild,
wo die Action "If frame is loaded" enthalten ist, so läuft der Film solange zwischen diesen beiden Bildern hin und her, bis der Film geladen ist.

(Beispieldatei runterladen)
Die veraltete Lösung bei großen Movies, ein Zähler, der die Prozentzahl des geladenen Movies anzeigt funktionierte so. Man erstellt ein paar Schlüsselbilder am Anfang, die die verschiedenen Prozentzahlen der Reihe nach anzeigen, dann vergibt man jeweils die Action "If Frame is loaded" und springt damit von einem Schlüsselbild der Anzeige zum nächsten, bis der ganze Film geladen ist.


Zufall per Actionscript

zufälliges Bild in der Zeitleiste, oder zufällige Position von MCs

Beispiel SWF anschauen oder download zufall.fla
siehe auch den nächsten Tipp Mathe Objekt

 

Tippsiehe auch diesen AS3 Tipp Function Zufall, hier werdern Zufallswerte erzeugt wobei bestimmte Werte ausgeschlossen werden. Ein ähnliches Beispiel befindet sich auch in dem Funktionen Beispiel hier auf der Seite. AS2

 

Hier eine praktische Funktion für den täglichen Einsatz eine Zufallszahl von bis

function zufallVonBis (tief:Number, hoch:Number):Number{
var zufallsZahl:Number= Math.random()*(hoch - tief) + tief;
return zufallsZahl;
}

 

Mathe Objekt

Beispiel SWF anschauen rechnen.fla

siehe oben das SWF Beispiel für Zufallszahlen zufall.swf

mathematische Funktionen: aufrunden, abrunden, Modulo Restbetrag einer Division, Quadratzahl, kleinere oder größere von 2 Zahlen, Zufallszahl, Wurzel ziehen, exponential Rechnung, Sinus Cosinus

 

Funktion Bedeutung veraltete Schreibweise

Math.floor(x)

abrunden int(Fließkommazahl)
Ganzzahl=int (5.2458)
int() ist veraltete Schreibweise, eine Fließkommazahl wird abgerundet. Näheres im Beispiel SWF Film

Math.round(x)

ab/aufrunden

Math.ceil(x)

aufrunden

Math.sqrt(x)

Wurzel  

Math.pow(x,y)

exponential  

Math.min(x,y)

kleinerer von 2 Werten  

Math.max(x,y)

größerer von 2 Werten  

Math.random();

Zufallszahl
zufall.swf anschauen

Math.random() kann man auch in AS3 verwenden. Es wird eine Zufallszahl zwischen 0.0 und 1 erzeugt ausgenommen 1.

Die alte Schreibweise random() ist nicht so genau. Folgendes Beispiel:  random(20)  erzeugt Zahlen zwischen 0 und 19

Math.sin();
Math.cos();

sinus- cosinus Werte siehe Programmierte Bewegung  

Modulo x%y

Modulo, Division Restbetrag  

 

Notation

Sehr große Zahlen können beispielsweise folgendermaßen dargestellt werden:

2e+3;

Die Zahl ist 2000, also die Zahl 2 mit 3 Nullen, oder die Zahl 2 * 10³

var zahl:Number;
zahl = 2e+3;

trace(2e+3);//2000
trace(2.2e+3);//2200
trace(2.2* Math.pow(10,3));//2200

 

 

Zufallszahlen Array AS3

In diesem AS3 Beispiel werden Zufallszahlen erzeugt, und zwar aus einer Liste von Ganzzahlen von 0 bis x. Dabei darf jede Zahl nur einmal vorkommen. Diese Funktion kann man beispielsweise für das Mischen von Karten oder anderen Arrays in Spielen einsetzen.

Der erste Parameter definiert die Anzahl der gesamten Zahlen. Der zweite Parameter definiert wieviele Zufallszahlen erzeugt werden sollen. Die Zahl im zweiten Parameter darf logischerweise nicht höher sein, als die Zahl im ersten Parameter. Das gleiche Beispiel für AS2 befindet sich in der SWF Beispieldatei math.

 

function zufall (arrayCount:uint, randCount:uint):Array
{
var zufallsZahlen:Array = new Array();
var zahlen:Array = new Array();
for (var e:uint=0; e < arrayCount; e++)
{
zahlen[e] = e;
}

for (var i:uint=0; i < randCount; i++)
{
var zufallszahl:Number = Math.floor(Math.random() * zahlen.length);
trace ("Zufallszahl: "+zufallszahl+" wirkliche Zufallszahl"+zahlen[zufallszahl]);
zufallsZahlen[i]= zahlen[zufallszahl];
zahlen.splice (zufallszahl, 1);
}
return zufallsZahlen;
}

 

 

var zufallsZahlen:Array = zufall (20, 20);


Array

Beispielfilm SWF anschauen oder download array.fla

Array Livedocs Adobe

Arrays gibt es in fast allen Programmiersprachen, wie z.B. in Javascript oder PHP. In Arrays kann man Daten verarbeiten, die in den Elementen eines Arrays gespeichert sind. Ein Array hat mehrere Elemente, auf die man über einen Index zugreift und die man mit den Arrayfunktionen verarbeiten kann. Die Elemente kann man unterschiedlich anordnen oder löschen. Mit verschachtelten Arrays lassen sich Datenbank ähnliche Strukturen erzeugen.

Siehe auch den Beitrag von Html World: Mehrdimensionale Array

Noch eine Möglichkeit ein nested Array zu erzeugen:

myMap = [ [1,1,1,1,1,1,1,1],
[1,0,0,0,0,0,0,1],  	
[1,0,1,0,0,0,0,1],  	  
[1,0,0,0,0,1,0,1],  	 
[1,0,0,0,0,0,0,1],  	
[1,1,1,1,1,1,1,1] ];

oder in AS3

 

var myMap:Array = [ [1,1,1,1,1,1,1,1],
[1,0,0,0,0,0,0,1],
[1,0,1,0,0,0,0,1],
[1,0,0,0,0,1,0,1],
[1,0,0,0,0,0,0,1],
[1,1,1,1,1,1,1,1] ];

 

oder mittels for Schleifen

 

var mcMap:Array = new Array();

for (var i:uint = 0; i < 10; ++i)
{
mcMap[i] = new Array();

for (var j:uint = 0; j < 10; ++j)
{
var t:Tile = new Tile();
t.x=(j*16);
t.y = (i*16);
addChild (t);
mcMap[i][j]=t;
}
}

 

SuperlinkEin rein asszioatives Array ohne einen numerischen Index ist eigentlich kein Array, sondern ein Objekt, denn hier kann man die Arrayfunktionen nicht verwenden. Man spricht hierbei auch von Json Schreibweise. Siehe dazu diese Website. http://json.org/json-de.html ein super Link.

 

Beide Schreibweisen sind in Flash möglich.

var personen:Array = new Array();

var personen:Object = new Object();

 

 

Wie ändert man in einem assoziativen Array oder Objekt die Elemente oder Werte?

 

Personen- Object

Personen in das Object einfügen

 

var personen:Object = new Object();


personen["Francois Petit"]={name:"Francois Petit",stadt:"Paris"};
personen["Gilbert Sullivan"]={name:"Gilbert Sullivan",stadt:"London"};

 

Problem:

Francois Petit ist umgezogen, die neue Stadt soll eingegeben werden, oder anders ausgedrückt:

Ich möchte im Element von name:"Francois Petit" den Wert der "stadt" ändern.

 

Lösung:

var eineNeuePerson:Object={name:"Francois Petit",stadt:"Untertupfingen"};

personen[eineNeuePerson.name]=eineNeuePerson;

 

Für den Inhalt dieser Seite ist eine neuere Version von Adobe Flash Player erforderlich.

Adobe Flash Player herunterladen

 

 

Hier werden folgende Actions erklärt:

newArray(); Array.length(); Array.splice(); Array.push(); Array.pop(); Array.concat(); string.split(); Array.join(); Array.toString(); Array.reverse(); Array.shift(); Array.unshift(); Array.sort(); for in;

Vector

Ein Vector ist eine Art Array mit dem Dinge schneller berechnet werden. Vector gibt es ab Flashplayer 10 mit AS3

Im Vector haben alle Elemente den gleichen Datentyp <Datentyp> außerdem kann man festlegen, dass sich die Anzahl size der Elemente nicht ändern darf true

//v = new Vector.<Datentyp>(size,true);

 

var anzahl:uint=10;
var v:Vector.<Number>;
v = new Vector.<Number>(anzahl,true);

for(var i:uint=0; i<anzahl; i++){
v[i] = i*20;
}

In einem Array könnte ich folgendes machen:

var myAr:Array= new Array();

myAr[20]="String";

In einem Vector kann ich ein Element erst definieren wenn es alle Elemente mit niedrigerem Index schon gibt, oder um es anders auszudrücken: im Vector können die Elemente nur hinten angehängt werden.


Datum abfragen

Beispiel SWF anschauen oder download datum.fla

Mit dem Date-Objekt kann man das Datum nach lokaler- (vom eigenen Rechner) oder Welt-Zeit abfragen.
Zuerst muss eine Instanz des Date-Objekts erzeugt werden.
datum = new Date();
Dann kann man mit verschiedenen Methoden Tage, Monate, Jahre, Wochentage und vieles mehr abfragen.
now = (datum.getDay());
Die verschiedenen Methoden sind in der Flash Hilfe aufgelistet.
Eine ausführlich erklärte Anleitung, wobei man beispielsweise zu jedem Wochentag einen anderen Keyframe aufruft, findet ihr in meiner Beispieldatei date.fla
Hier werden folgende Funktionen erklärt:

newDate(); getDate(); getMonth(); getDay(); getFullYear(); getTime(); getSeconds(); getMinutes(); getHours(); setDate();


Function

Beispiel SWF anschauen oder download function.fla

Siehe auch Funktionen in AS3

Ab Flash 5 kann man Funktionen definieren. Funktionen definiert man Anweisungen, die öfter gebraucht werden. Man kann Anweisungsblöcke in Funktionen zusammenfassen und diese dann mit verschiedenen Parametern bei Bedarf aufrufen. Sobald ein Film etwas komplexer wird, sollte man mit Funktionen arbeiten. Außerdem kann man mit dem Schlüsselwort function Klassen erzeugen. Hier ist etwas Grundwissen in OOP angesagt.

Lese auch den Artikel bei Adobe über Datentypisierung in Funktionen.

// strikte Typisierung des Parameters und des Rückgabewerts

function square(num:Number):Number {

var squared:Number = num * num;

return squared;

}

Hat man eine Funktion ohne Rückgabewert kann man den Typ void angeben:

function square(num:Number):Void {

   _root.biene._xscale=num;

}

function(); setTimeout(), prototype(), delete

 

delete

Mittels delete kann man Funktionen, Variablen, Objekte vernichten. Man kann mit delete keine Movieclips löschen. Nach erfolgreicher Vernichtung gibt delete true zurück, andernfalls false.
function meineFunktion(){

Anweisung;

}

delete meineFunktion;

Integrierte Funktionen

Es gibt eine Flash viele integrierte Funktionen mit denen man bestimmte Aufgaben erledigen kann oder auf Informationen zugreifen kann. Beispielse getTimer() liefert die Ablaufzeit des Films in Millisekunden. Man unterscheidet zwischen Funktionen, die zu einem Objekt gehören auch Methoden genannt und Funktionen, die nicht zu einem Objekt gehören. Letztere nennt man Funktionen oberster Ebene, sie befinden sich im Ordner "globale Funktionen".


OOP Objektorientierte Programmierung Actionscript 1

SWF Beispiel anschauen oder download objektProg.fla

Siehe OOP und Klassendefinition in AS3
Siehe auch das Beispiel AS3 MovieClip addChild(), auf Seite 10 gibt es die Alternative zur protoype Funktion

Action Script ist eine Objektorientierte Programmiersprache. Auch wenn man sich mit der Thematik noch nicht beschäftigt hat, so hat man dennoch mit Objekten gearbeitet. Zum Beispiel sind Symbole (MCs, Schaltflächen, Grafiken) Objekte. Man kann den Begriff noch weiter fassen. Ein Objekt Pinselwerkzeug zeichnet ein Objekt Grafik in ein Objekt Fenster. Wir haben hier ein streng hierarchisches Prinzip, es gibt Klassen und Instanzen. Zum Beispiel ein Auto wäre eine Klasse wobei, Toyota Corolla, Golf GTI, Ford Capri Instanzen darstellen. Klassen haben Eigenschaften, wie Farbe, Lenkrad, Motor etc. Die Instanzen besitzen diese Eigenschaften, jedoch mit unterschiedlichen Werten, Farbe:rot, Sportlenkrand, Dieselmotor. Auch das kennt man schon, ein MC ist eine Klasse, aus der man Instanzen oder Objekte mit unterschiedlichen Eigenschaften erzeugt z.B. Größe, Position, Farbe etc. In Flash kann man eigene Klassen erzeugen.
Siehe auch diesen Ausschnitt aus dem Buch von Colin Mook Objekte und Klassen pdf

Siehe auch den Abschnitt bei Adobe OOP
siehe auch dieses OOP Tut

Siehe auch dieses Javascript Tutorial zum Thema OOP


Flashnavigation mit Protoype Funktion

flashbeispiel SWF Beispiel anschauen oder download navProto.fla
Hier ein praktisches Beispiel für eine Flashnavigation. Anhand dieses Beispiels wird erklärt, wie wichtig es ist eine vernünftige und logische Funktionen zu erstellen. Auch wenn es anfangs etwas schwieriger ist, so ist der Programmieraufwand doch erheblich geringer und Änderungen lassen sich einfacher umsetzen. Außerdem kann man durch Modifizierung dieser einfachen Flashnavigation komplexe Effekte und Menüstrukturen erstellen.

Schaltflächen Events und Funktionen

Weist man einer Schaltfläche eine Aktion zu, die auf eine Filmsequenz oder Zeitleiste verweist, so gilt die Zeitleiste in der sich die Schaltfläche befindet als this.

Anders verhält sich bei Funktionen, wie im folgenden Beispiel.

Wir haben eine Instanz test_mc und darin einen Button mit Instanznamen but_btn

MovieClip.prototype.farbe = function ()
{
this.but_btn.onRelease = function ()
{
trace(this);
};
};
_root.test_mc.farbe ();

Oder dieses Beispiel ohne die Prototype Funktion, die Action steht in der Zeitleiste der MC-Instanz namens test_mc

this.but_btn.onRelease = function ()
{
trace(this);
};

trace übergibt in beiden Fällen

_level0.test_mc.but_btn

 

Weist man der Schaltfläche innerhalb des test_mc die Anweisung direkt zu:

on (release) {
trace(this);
}

übergibt trace:

_level0.test_mc

 

Um mit einer Funktion auf die Zeitleiste zuzugreifen, in die die Buttoninstanz eingefügt wurde muss die Action folgendermaßen lauten:

this.but_btn.onRelease = function ()
{
trace(this._parent);
};

 

 


OOP Actionscript 2

 

Siehe OOP und Klassendefinition in AS3

Jede von Ihnen deklarierte Variable, jede von Ihnen geschriebene Funktion und jede von Ihnen erstellte Klasseninstanz ist ein Objekt. Man kann sich ein ActionScript 2.0-Programm als eine Gruppe von Objekten vorstellen, die Aufgaben ausführen, auf Ereignisse reagieren und miteinander kommunizieren.

In Actionscript 2 liegt wie bei anderen objektorientierten Programiersprachen das Konzept der Klassen und Instanzen zugrunde. Jedes Objekt wird durch eine Klasse definiert. Eine Klasse kann man sich als Vorlage oder Entwurf für den Typ eines Objekts vorstellen. Grundlagen OOP Livedocs

Importieren von Klassen

Klassen werden mit dem Schlüsselwort class in einer externen Scriptdatei definiert. Wähle Datei / Neu / Actionscriptdatei und speichere diese mit der Endung as ab.

Es gibt 2 Klassenpfad Einstellungen, global und Klassenpfad auf Dokumentebene. Ein Klassenpfad ist das Verzeichnis wo Flash nach Klassen-, Schnittstellen-, Funktions- und Variablendefinitionen sucht.

weitere Regelen siehe livedocs

Alternativ kann man Klassen in Paketen zusammenfassen. (livedocs)
Pakete werden mit der import Anweisung importiert:

import flash.filters.BlurFilter;
import flash.filters.DropShadowFilter;
import flash.filters.GlowFilter;

oder um alle Klassen des filter Paketes zu importieren.
import.flash.filters.*;

Der mit den Klassen importierte Code ist in der SWF Datei enthalten, sofern er verwendet wird. Das bedeutet, dass Code einer importierten Klasse, die nicht verwendet wird, die SWF Datei nicht größer macht.

 

 

Eigene Klassen erzeugen

Wähle Datei / Neu / Actionscriptdatei und speichere diese mit der Endung as ab.

Speichere die fla Dateien, die auf die Klasse zugreifen sollen, im gleichen Ordner ab.

Actionscriptdatei: EatingHabits.as
class EatingHabits {
public function issDreck():Void {
trace("schmeckt abartig ");
}

function issSchoko():Void {
trace("schmeckt lecker ");
}
}

fla Datei im gleichen Ordner
var myHabits:EatingHabits = new EatingHabits();
myHabits.issSchoko();

 

In meinem SWF Beispiel über OOP für Actionscript 1 befindet sich auf der ersten Seite ein Beispiel. Dort wird eine Klasse Car mit der Eigenschaft color definiert. Ich greife dieses Beispiel hier auf, um es mit Actionscript 2 und der class Anweisung zu erzeugen.

flashbeispiel SWF Beispiel anschauen oder oopAS2.fla, auto.as, car.as

Erstelle dir eine neue Actionscriptdatei (Datei/ Neu/ Actionscriptdatei) und speicheres sie unter dem Namen Car.as ab. Speichere dir im gleichen Ordner eine fla Datei.

Die fla Datei bekommt folgende Action und ein dynamisches Textfeld mit Instanznamen "ausgabe":

 

 

include Actionscript auslagern

swf BEispiel laden SWF Beispiel anschauen oder download include.fla
Action Script kann man in Textdateien auslagern und mittels include in den Flashfilm einbinden. Der Vorteil ist, dass man einmal definierte Funktionen in mehreren Filmen benutzen kann. Die Community stellt viele Actionscriptdateien zur Verfügung zum Beispiel bei: Animation Package

 

Undokumentierte Funktionen

Ein Texteingabefeld mit Variablenname kann nach Eingabe eine Action aufrufen. Erstelle dazu ein Schlüsselbild in der selben Zeitleiste und vergebe den Bildnamen Variablename_changed . Alle Aktionen, die diesem Schlüsselbild zugewiesen wurden, werden nach Texteingabe ausgeführt. Allerdings kann dies zu Abstürzen führen, vor allen Dingen, wenn die aufgerufenen Aktionen, den Aktionen im Schlüsselbild der Texteingabe widersprechen, z.B.: bei der Texteingabe ist ein stop und die aufgerufene Aktion ist ein gotoAndPlay in der gleichen Zeitleiste.

Osterei

Ein verstecktes Osterei in Form eines Spiels: Flash 4 "Garys Car Jump", Flash 5 "Goldrush"
Hilfe, Über Flash dann schnell das Macromedia Logo anklicken, anschließend Danke Button klicken


hitTest Flash, Kollisionserkennung, Berührung erkennen, Spielprogrammierung

Beispiel SWF anschauen oder download hitTest.fla NEU
eineFilmsequenz.hitTest(x, y, formmarkierer);
Beispiel:

this.hitTest(_root. _xmouse,_root._ymouse, true);
hitTest fragt x und y Position ab, die in diesem Falle der Mausposition entspricht.
_root._xmouse (horizontale Mausposition) _root._ymouse (vertikale Mausposition)
Stattdessen könnte man hier auch Werte eintragen, um zu überprüfen, ob der MC einen definierten Punkt im Hauptfilm berührt oder anders ausgedrückt; ob der MC eine bestimmte Position eingenommen hat.
Der Parameter true bedeutet, dass man die Filmsequenz wirklich berühren muss und nicht nur den unsichtbaren Begrenzungsrahmen (bounding box), der jedes Symbol umgrenzt. Das unsichtbare Rechteck wird durch Höhe und Breite des MCs bestimmt.
Andere Möglichkeit
this.hitTest(_root.ball)
Hier wird jetzt anstatt x und y der Instanzname einer anderen Filmsequenz angegeben.
Allerdings ist hier der unsichtbare rechteckige Begrenzungsrahmen ausschlaggebend, hier ist der Parameter true nicht möglich.

hitTest gibt den Wert true zurück, wenn die Kollisionserkennung stattfindet. Daher wird die hittest() Funktion meist in eine if Struktur eingebettet oder in eine while() Schleife.

Die Funktion hittest wird häufig bei der Spieleprogrammierung mit Flash gebraucht. Sei es um ein Jump & Run Spiel zu programmieren oder auch, um bei einem Ballerspiel die Treffer zu erkennen.

Horizontales Aufklappmenü mit Flash

In der letzten Szene des Swf Beispiels wird ein Flash Aufklappmenü mit Unterpunkten erklärt.
In der vorletzten Szene wird eine Flash Doppelklick Schaltfläche oder Button erklärt.


MovieClip.localToGlobal() ::: MovieClip.globalToLocal()

swf Beispiel SWF anschauen oder download localToGlobal.fla

dieses Thema in AS3

In Spielen werden ständig die X-Y Koordinaten verschiedener MC-Instanzen benutzt. Wenn MC-Instanzen mehrfach ineinander verschachtelt sind, kann es schnell kompliziert werden, denn ein verschachtelter MC richtet sich immer am Mittelpunkt des Eltern-MC aus. Mittels localToGlobal() kann man sich die Koordinaten vom Hauptfilm aus erzeugen lassen.
Die Methode globalToLocal() übergibt _x und _y Werte eines Punktes im Hauptfilm relativ zum Mittelpunkt eines MCs. Das entspricht der horizontalen und vertikalen Entfernung.


Distanz zwischen MC Instanzen

swf Beispiel SWF anschauen oder download distanz.fla
Hier wird der Abstand zwischen 2 MC Instanzen ausgerechnet. Dazu benötigt man den Satz des Pythagoras, der in einer anschaulichen Animation erklärt wird a² + b² = c²

 


Programmierte Bewegung

Beispiel SWF anschauen oder download bewegung.fla

Hier geht es um programmierte Bewegungen in Flash, mit denen man Mausverfolger oder bewegliche Menüs, wie Aufklappmenüs oder Bilderleisten programmieren kann.

Hier noch ein einfaches Beispiel eines Mausverfolgers. Im folgenden Script braucht man eine Movieclipinstanz auf der Bühne, welche den Instanznamen "stern" bekommen muss. Besonders effektvoll ist es, wenn innerhalb des Movieclips Tweeningbewegungen enthalten sind.

MovieClip.prototype.mausverfolg = function(x) {

this.onEnterFrame = function() {

this._y = this._y+this._ymouse/(2*x);

this._x = this._x+this._xmouse/(2*x);

};

};

 

var i:Number =1;

_root.onEnterFrame = function() {

if (i<26) {

_root.stern.duplicateMovieClip("stern"+i, i);

_root["stern"+i].mausverfolg(i);

i++;

}else {

delete _root.onEnterFrame;

}

}

 

Auch das nächste Thema Trigonometrie behandelt programmierte Bewegungen für Spiele, Bildschirmschoner, Menüs etc.
der Pastor rät siehe auch Drag Movie Verschiebbare Movieclips

Trigonometrie / Cosinus & Co

Programmierte Bewegungen braucht man beispielsweise in Flashspielen wie beispielsweise dieses hier. Viele Programmierungen bauen auf den Regeln der Geometrie oder Trigonometrie auf. Siehe auch das übernächste Beispiel mit dem (Satz des Pythagoras). Die Trigonometrie ist die Kunst der Dreiecksberechnungen. Mit Sinus, Cosinus und Tangens lassen sich in Flash die Winkel und Seiten innerhalb eines Dreiecks berechnen. In Flash lauten die Funktionen Math.sin(), Math.cos, Math.tan(). Damit kann man beispielsweise die Drehwinkel eines Movieclips berechnen oder die Richtung und Geschwindigkeit eines MCs in Flashspielen berechnen.

swf Super Beispiel SWF Sinus & Cosinus, Beispiel von Harald Krauß
http://www.hutschdorf.de/

Zur Auffrischung empfehle ich die Seite: http://www.mathematik.net/trigonometrie/tr.htm
Die dort vorgestellten Erklärungen kann man in folgendem Flashfilm ausprobieren.

Siehe auch meine AS3 Tipps Trigonometrie

Dreiecksberechnung Beispiel SWF anschauen Dreiecksberechnung AS3 Tipp

swf Beispiel SWF anschauen oder download trigo.fla

Bogenmaßwerte lassen sich wie folgt berechnen:

bogenlaenge = Math.PI/180 * grad

Im folgenden Beispiel wird die Gleichung als Parameter zum Berechnen des Sinus eines 45-Grad-Winkels übergeben:

Math.SIN(Math.PI/180 * 45)

Mit folgender Formel rechnet man Bogenmaß in Grad um:

grad=(bogenmaß / Math.PI) * 180
Hiermit rechnet man Grad in Bogenmaß um:
bogenmaß = (grad/180) * Math.PI

Die Umrechnung wird noch einfacher, wenn man sich eine Konstante erstellt. Hier AS3 Code

 

public static const RAD:Number = 180 / Math.PI;
// bogenmass = w/RAD;
// grad = w*RAD;

 

Hier werden folgende Funktionen erklärt: Math.sin(); Math.cos(); Math.tan(); Math.asin(); Math.acos(); Math.atan(); Math.Pi;

 

Programmierte Bewegung und Hittest
Dieses Beispiel ist in dem SWF Beispiel teilweise erklärt, was fehlt, ist das Stoppen vor Häusern und anderen Hindernissen. Das Beispiel gibt es nicht als fla Datei, aber ich erkläre euch, wie es geht.
Erstelle dir einen MC, in dem du überall dort wo sich ein Haus oder Hinderniss befindet eine Grafik hinterlegst. Dieser MC bekommt ein paar Hittestabfragen. Einmal wenn das Auto vorwärts fährt, also c oder die Hypotenuse größer als 0 ist und einmal wenn es rückwärts fährt. Wenn es vorwärts fährt, fragst du auf einen x y Wert ab, der vorne am Auto liegt und in der if-Bedingung für rückwärtige Bewegung sollte der Punkt hinten liegen. Dazu musst du dir diese Punkte des Autos mit der localToGlobal Methode umwandeln. Setze die Geschwindigkeit auf 0, wenn eine der Bedingungen erfüllt ist. Eigentlich ganz einfach, wenn man weiß, wie es geht. Anstatt das Auto zu bewegen, kann man natürlich auch den MC mit dem Hintergrundbild bewegen, allerdings genau in Gegenrichtung. Dort kann man dann auch gleich den MC mit den Hindernissen hinter dem Hintergrundbild einfügen. Außerdem kann man noch einen weiteren MC einfügen, der als programmierte Maske für das Auto dient, damit es unter Bäumen hindurchfährt. Alles, was man braucht wird hier in den einzelnen Themen erklärt. Wenn man es ganz perfekt machen will, kan man 4 Punkte und if-Bedingungen definieren und zwar für jede Ecke des Autos. Man sollte auch die Geschwindigkeit mit einbeziehen, damit das Auto auch bei hohen Geschwindigkeiten vor einem Haus stoppt. Hier nun eine der If-Bediungen:

if (_root.bild_mc.hind_mc.hittest(vgx, vgy, true) && _root.c>0) {
_root.c = 0;
}

Hierbei sind vgx und vgy die X-Y Koordinaten eines Punktes vor dem Auto, welcher mit localToGlobal umgewandelt wurde. c ist die Hypotenuse oder Geschwindigkeit. hind_mc ist der MC mit den Hindernissgrafiken welcher im MC mit dem Hintergrundbild eingefügt ist (bild-mc).

Warum localToGlobal, wenn sich doch das Auto im Hauptilm befindet, könnte man doch gleich den x und y wert mit ein paar zusätlichen Pixeln für vorne und hinten nehmen? Nein, denn das Auto dreht sich und daher ist vorne mal oben mal unten mal rechts mal links vom Mittelpunkt des Autos aus gesehen.

 


Rotation eines MCs auf einen Zielpunkt / Math.atan2()

 

Will man Flashspiele programmieren, so kann es schon mal vorkommen, dass Raketen oder Fahrzeuge also Movieclips auf eine bestimmte Zielposition gedreht werden sollen. Mittels Math.atan2() lässt sich die Drehung eines MCs auf einen bestimmten Punkt im Koordinatensystem drehen. Die Funktion erwartet _y und _x Wert des Punktes.

swf Beispiel SWF anschauenoder download atan2.fla

Hier wird folgende Funktion erklärt:

Math.atan2();


Das Key Objekt für Tastaturbefehle

Beispiel SWF anschauen siehe Seite 10 bewegung.fla

Siehe auch folgende Seite, dort wird dieses Thema ausführlicher als hier erläutert.

Hier kann man jede Taste auf ihren ASCII Code hin überprüfen.

 

Eigenschaft

Beschreibung

Key.BACKSPACE

Konstante, die dem Tastencodewert für die Rückschritttaste (8) zugeordnet ist.

Key.CAPSLOCK

Konstante, die dem Tastencodewert für die Feststelltaste (20) zugeordnet ist.

Key.CONTROL

Konstante, die dem Tastencodewert für die Taste (17) zugeordnet ist.

Key.DELETEKEY

Konstante, die dem Tastencodewert für die Taste (46) zugeordnet ist.

Key.DOWN

Konstante, die dem Tastencodewert für die Nach-unten-Taste (40) zugeordnet ist.

Key.END

Konstante, die dem Tastencodewert für die Taste (35) zugeordnet ist.

Key.ENTER

Konstante, die dem Tastencodewert für die Eingabetaste (13) zugeordnet ist.

Key.ESCAPE

Konstante, die dem Tastencodewert für die Taste (27) zugeordnet ist.

Key.HOME

Konstante, die dem Tastencodewert für die Taste (36) zugeordnet ist.

Key.INSERT

Konstante, die dem Tastencodewert für die Taste (45) zugeordnet ist.

Key.LEFT

Konstante, die dem Tastencodewert für die Nach-links-Taste (37) zugeordnet ist.

Key.PGDN

Konstante, die dem Tastencodewert für die Bild-ab-Taste (34) zugeordnet ist.

Key.PGUP

Konstante, die dem Tastencodewert für die Bild-auf-Taste (33) zugeordnet ist.

Key.RIGHT

Konstante, die dem Tastencodewert für die Nach-rechts-Taste (39) zugeordnet ist.

Key.SHIFT

Konstante, die dem Tastencodewert für die Umschalttaste (16) zugeordnet ist.

Key.SPACE

Konstante, die dem Tastencodewert für die Leertaste (32) zugeordnet ist.

Key.TAB

Konstante, die dem Tastencodewert für die Tabulatortaste (9) zugeordnet ist.

Key.UP

Konstante, die dem Tastencodewert für die Nach-oben-Taste (38) zugeordnet ist.

onClipEvent (enterFrame) {
   if ((Key.isDown(Key.RIGHT))) {
       irgendeine Anweisung;
   }   
}


onSetFocus / Tastaturbefehl und Texteingabe gleichzeitig

Tastenbefehl und Texteingabefeld

swf Beispiel SWF anschauen oder download setFocus.fla

 

Wenn man über Tastaturbefehle bestimmte Aktionen aufrufen will und hat aber gleichzeitig ein Textfeld, in das der User Eingaben machen kann, so hat man ein Problem. Das Aufrufen per Buttons und dem Eventhandler per Tastatur kann man gar nicht benutzen, da der Buchstabe, welcher als EventHandler des Buttons reserviert ist im Textfeld nicht erscheint. Stattdessen benutzt man die Funktion Key.addListener und überprüft, ob das Textfeld ausgewählt ist oder nicht. Das kann man mit den EventHandler onSetFocus() und onKillFocus() machen.


Perspektivisch Vergrößern

programmierte Bewegung

Beispiel SWF anschauen oder download perspektive.fla

Die hier vorgestellte Methode ist eine einfache Formel für einfache Animationen oder Spiele. Man kann es auch als Vorbereitung für den nächsten Tipp nutzen, oder gleich im nächsten Tipp lernen, wie man in Flash mit 3D arbeiten kann.

3D mit Flash NEU

3d Koordinatenswf Beispiel SWF anschauen oder download 3d.fla

3D in Flash

Flash ist keine 3D Anwendung, da man aber mit Flash rechnen kann, kann man sich die x, y, z Koordinaten und die sich daraus ergebenden perspektivischen Gesetzmäßigkeiten mittels Funktionen errechnen. Ein sehr anschauliches, gut zu verstehendes Tutorial (allerdings nur in englisch) findet ihr bei http://www.kirupa.com

Wichtig sind folgende Punkte
Je weiter sich ein Objekt auf der z Achse nach hinten bewegt, desto kleiner wird es. Auch die Wege auf der x und y Achse werden hinten kleiner.
Ein Objekt das auf der z Achse hinten liegt, muss von Objekten, die weiter vorne liegen und es überschneiden, verdeckt werden. Das regelt man über swapDepths.
Hier noch ein Beispiel, welches man sich auch aus den programmierten Bewegungen ableiten kann.

swf Beispiel SWF anschauen


URL Codierung, Zeichensatz, Latin 1, UTF8, system.useCodePage

Bei der Datenübertragung beispielsweise aus einer Textdatei, taucht immer wieder der Begriff URL Codierung auf. Das bedeutet einerseits, dass man hier das Schema Variable=Wert einhalten muss (kein Leerzeichen dazwischen). Weitere Variablen werden mit kaufmännischem & angehängt. Außerdem dürfen keine Sonderzeichen und Umlaute enthalten sein. Eine Auflistung der Sonderzeichen (Latin1) findet man unter:

http://www.unicode.org/charts/PDF/U0080.pdf
http://www.unicode.org

 

Ab Flash MX wurde die interne Codierung von Latin 1 (systemabhängige Codierung) auf UTF 8 (systemunabhängige Codierung) umgestellt. Siehe dazu diesen Beitrag auf www.tutorials.de

 

Am besten man speichert die externen Textdateien / Phpseiten etc, die mit Flash eingelesen werden, als UTF 8 ab, oder man benutzt folgenden Befehl um auf Latin 1 umzuschalten:

system.useCodePage=true;

Wie schon gesagt ist der Standard ab Flash MX UTF 8. Der Befehl dazu lautet:

system.useCodePage=false;

 

Hier wird es erklärt

http://de.selfhtml.org/inter/index.htm
http://de.selfhtml.org/inter/unicode.htm

 

 

Email Formular per CGI

(Beispiel Fla Datei downloaden) formular.fla
Wenn man ein E-mail Formular zum Absenden per CGI mit Flash erstellen will, braucht man natürlich auch einen Provider, der einem diese Möglichkeit zur Verfügung stellt.
Also müßt ihr euch zuerst einmal um dieses Problem kümmern und euch die dementsprechende CGI Adresse besorgen. Diejenigen, die wie ich, bei Strato sind können einfach weiterlesen.

Hier noch ein Beispiel für ein Emailformular mit PHP und hier die Formular UI Komponenten von Flash 8.

  1. Textfelder erstellen
  2. Textfeld, rechte Maus, Eigenschaften, Variable, Namen vergeben zum Beispiel für Name, Adresse, Email etc.
    Die Formularfelder "email", "realname" und "subject" haben eine Sonderrolle: Was der Besucher dort einträgt, wird als Absenderadresse, Absendername und Thema der Mail verwendet, die an sie abgeschickt wird.
  3. Button zum Absenden erstellen
  4. Button, rechte Maus, Eigenschaften, Action: Get URL
    URL: CGI Adresse eintragen bei Strato lautet sie: /cgi-bin/mailmanager.pl
    Variablen: Mit Post versenden
  5. Frame oder Bild in der Zeitleiste, rechte Maustaste, Eigenschaften, Action, Set Variable
    Variable recipient
    Wert: hier deine email Adresse eintragen, z.b. mail@on-design.de (Strato Kunden dürfen nur eine email bei Strato verwenden)
  6. Man kann noch weitere Variablen, die die Funktion von "hiddenfields" übernehmen, definieren, siehe Tabelle.
  7. Damit auch die die Umlaute (öäü) in der Email nicht richtig angezeigt werden, könnt ihr folgende Zeile im Actionscriptfenster einfügen:
    System.useCodepage = 8859-1;
  8. Flash Film veröffentlichen
  9. Per FTP hochladen, übrigens findet man bei Strato in den Anleitungen zum Thema Mailmanager noch einige weitere nützliche Infos zu diesem Thema
Weitere Variablen oder hidden Fields, wie sie bei Strato, so auch bei vielen anderen CGI Scripten üblich sind.
Variable oder hidden field Wert oder value Erklärung
subject Mail Formular der Homepage die Betreffzeile der E-mail
print_config email,subject,realname die Eintragungen stehen nicht nur im Head sondern werden auch noch einmal mit den anderen Formularinhalten im Body der Mail wiedergegeben. (siehe Punkt 2)
sort alphabetic die Formulardaten werden alphabetisch sortiert, sinnvoll bei Bestellungen
redirect http://www.ihredomain.de/bestätigung.html Gefällt einem die Bestätigunsseite des Providers nicht, kann man hier auch eine eigene Seite anzeigen lassen, die nach erfolgreichem Übersenden des Formulars angezeigt wird.
required name,strasse,ort Diese Felder müssen ausgefüllt werden.
print_blank_fields 1 Auch leere Felder werden übertragen.

Projektor steuern mit fscommand

(Beispiel Fla Datei downloaden) fscommand.fla
mit der Action fscommand, kann man den Projector also das Programm welches den Flashfilm abspielt: beenden, das Menü ausblenden, die wirkliche Filmgröße herstellen, den Film als Fullscreen darstellen oder in älteren Versionen eine eine exe Datei aufrufen. Hier ein Auszug aus der Flash Hilfe. Das Ganze funktioniert übrigens nicht in der Arbeitsumgebung von Flash.

Fullscreen AS2


fscommand("fullscreen", "true");

Fullscreen mit AS3

import flash.display.StageDisplayState;

stage.displayState = StageDisplayState.FULL_SCREEN;

Man schaltet folgendermaßen zurück auf den Fenstermodus

stage.displayState = StageDisplayState.NORMAL;

Weitere Funktionen passend zum Thema:
siehe auch AdobeReferenz scaleMode , displayState

stage.scaleMode = StageScaleMode.NO_SCALE;

stage.scaleMode = StageScaleMode.SHOW_ALL;

stage.align = StageAlign.TOP_LEFT;


siehe auch den Tipp "fullscreen vom Browserfenster aus"

Projektor schließen mit AS3

Anstelle des AS2 Befehls fscommand("quit") kann man in AS3 den Projektor mit folgendem Befehl schließen:

System.exit(0);

Außerdem muss flash.system.System importiert werden.

Hier ein Button, der den Projektor schließt

this.close_btn.addEventListener(MouseEvent.CLICK, closePlayer);

function closePlayer(evt:MouseEvent):void {

System.exit(0);

}

Befehl Argumente Funktion

quit

Keine

Schließt den Projektor.

fullscreen

true oder false

Mit true wird der Flash Player in den Vollbildmodus gesetzt. Mit false wird der Player in die normale Menüansicht zurückgesetzt.

allowscale

true oder false

Mit false wird der Player angewiesen, den Film nur in dessen ursprünglicher Größe darzustellen. Mit true wird der Film exakt in der Größe des Players dargestellt.

showmenu

true oder false

Mit true werden sämtliche Kontextmenüelemente aktiviert. Mit false werden alle Elemente des Kontextmenüs außer der Option "Info zu Flash 5..." ausgeblendet.

exec

Pfad der Anwendung

Startet eine Anwendung also exe Datei aus dem Projektor heraus.

fscommand & Javascript

Mit fscommand kann man auch andere Scriptsprachen wie Javascript ansprechen. Die beiden Parameter Befehl und Argumente (command, args) werden an die Javascript Funktion übergeben. Siehe dazu den Beispielfilm meinFilm.swf. Weitere Infos zum Thema Flash und Javascript hier.
Beispiel SWF anschauen oder download meinFilm.fla NEU
Hier noch ein ausführlicher Beitrag zum Thema bei Selfhtml Thema: Live Connect


Javascript (Fenster öffnen)

Beispiel SWF anschauen oder download windowopen.htm, windowopen.fla
Dieser Html code kommt in den Head Tag der Html Seite, in der der Flashfilm eingebunden ist:

<SCRIPT LANGUAGE="JavaScript"> var javascript_version = 1.0;</SCRIPT>
<SCRIPT LANGUAGE="JavaScript1.1"> javascript_version = 1.1;</SCRIPT>
<SCRIPT LANGUAGE="JavaScript">
var newwin;
function launchwin(winurl,winname,winfeatures)
{
newwin = window.open(winurl,winname,winfeatures);
if(javascript_version > 1.0)
{
setTimeout('newwin.focus();',250);
}
}
</SCRIPT>

Siehe auch Javascript mit fscommand
Weitere Infos zum Thema Javascript und Flash findet man bei Colin Moock, allerdings in englisch.
Hier noch ein ausführlicher Beitrag zum Thema bei Selfhtml Thema Live Connect
Für den nächsten Tipp siehe auch den flashVars Artikel bei Macromedia

Javascript Kommunikation

Beispiel SWF anschauen Unterordner flsExpl/ flashVars/ flashVars3.html, flashVars3.swf

In diesem Beispiel kommuniziert der Flashfilm mit Javascript. Eine Funktion mit Javascript überträgt den Wert einer Variablen an den Flashfilm.


Schlüsselbilder per Html- Link ansteuern (Anker)

Ab Flash MX ist es sehr einfach die Schlüsselbilder eines Flashfilms per Html Link anzusteuern. Das war mit Flash5 nur über den Umweg mit Javascript möglich, siehe dazu eine englische Anleitung von Colin Moock
In Flash MX klicke gewünschtes Schlüsselbild in der Zeitleiste an, vergebe im Eigenschaftenfenster einen Bildnamen und aktiviere die Option "Benannter Anker". Unter Datei / Einstellung für Veröffentlichung, wähle im Karteireiter Html unter Vorlage: Flash mit benannten Anker. Nun braucht man im Html Dokument nur einen ganz normalen Link auf diesen Ankerpunkt zu setzen.
<a href="#bildname">Ankerlink</a>
swfBeispiel SWF anschauen anker.fla, anker2.fla, anker.htm, anker2.htm
Wenn man die links auf der gleichen Seite einfügt funktioniert es auch, allerdings hatte ich Probleme mit Framesets und außerdem gibt es Unterschiede zwischen IE und Netscape 4.7. Ich wäre sehr dankbar, wenn mir jemand mehr dazu schreiben könnte.

 

Hier noch eine andere Methode mit dem SWF Object. Das Thema habe ich auf der ersten Seite schon angesprochen. Siehe dazu die deutsche Übersetzung von powerflasher.
In meinem Beispiel habe ich in einem Frameset Links gesetzt, die bestimmte Bilder der Zeitleiste des Flashfilms aufrufen. Siehe folgendes Beispiel FlsExpl/bilderlinks. Dort befindet sich ausnahmsweise auch die fla Datei.

 

Siehe auch den Tipp Load Movie und Variablenübertragung. Hier werden auch bestimmte Bilder eines Flashfilms aufgerufen. Die Filme werden mit der Load Movie Methode geladen.


Datenaustausch zwischen SWF Filmen

localConnection

Beispiel SWF anschauen (FRAMESET) oder download sharedempf.fla, sharedsend.fla
Ab Flash MX ist es möglich zwischen 2 SWF Filmen Daten auszutauschen, oder um es anders auszudrücken, Aktionen in einem Flashfilm aufzurufen, die dann im anderen Flashfilm ausgeführt werden. Dabei ist es egal, ob 2 Player geöffnet sind, oder die beiden Filme in unterschiedlichen Frames eines Framesets liegen oder in verschiedenen Browserfenstern.
z.B.: siehe hier

achtung Achtung!! Achte darauf, dass mein Beispielfim geschlossen ist, wenn du deinen eigenen ausprobierst. Wenn du die Actions nicht in Buttons, sondern in Schlüsselbildern einfügen willst, dann füge sie nacheinandern in mehrere Schlüsselbilder ein und nicht alle Aktionen ins erste Bild.

Siehe auch Variablen importieren/ exportieren mit loadMovie, Variablen aus Textdatei, loadVars Klasse

Hier werden folgende Aktionen erklärt:

localConnection(); new LocalConnection(); localConnection.connect(); localConnection.send(); LocalConnection.close();


Flash Detection / Flash Erkennung und Weiterleitung

das Thema gibt es auf dieser Seite auch als Schritt für Schritt Anleitung
(Beispiel Fla Datei downloaden)

Die von mir vorgestellte Lösung ist mittlerweile veraltet. Beim Einbinden des Flashfilms, kann man überprüfen, welcher Player installiert ist und gegebenenfalls auf die Downloadseite bei Adobe umleiten. Siehe erste Seite. SWF Object/ Einbinden des Flashfilms.

Will man einen Film erstellen der einfach nur erkennen soll, ob das Flash 1 Plugin installiert ist oder nicht, erstellt man einen kleinen Film mit der Aktion getURL. Dabei gibt man die Url zu der Seite mit dem Flash Film an, sofern kein Flash Plugin vorhanden ist, wird einfach nicht weitergeleitet.
Will man für jede Plugin Version eine andere Seite aufrufen, macht man sich folgende Tatsache zu nutze.
Wenn man in Flash Aktionen benutzt, die es in einer früheren Version noch nicht gab, werden diese Aktionen einfach nicht ausgeführt, sofern man das entsprechende Plugin nicht hat. Der Film wird aber trotzdem soweit als möglich ausgeführt.
Wenn ihr überprüfen wollt, welche Aktionen in welcher Version schon da waren und welche nicht, setzt ihr einfach die gewünschte Aktion ein, und stellt unter Datei / Einstellungen für Veröffentlichungen /.. Flash .. (ganz unten Version) die gewünschte Version ein. Wenn ihr nun auf Veröffentlichen oder Strg Enter klickt, erscheint eine Meldung, dass der Film Aktionen oder Objekte benutzt, die in dieser Version noch nicht zur Verfügung standen. Außerdem werden die Actions im Bedienfeld Actions gelb hinterlegt, wenn die eingestellte Player Version sie nicht kennt.
Ich beschreibe nun mal eine Flash Erkennung, die ich mir gebastelt habe.
Ein Flash movie mit mehreren Schlüsselbildern.
Flash6
Im ersten Frame oder Bild wird eine globale Variable mittels _global definiert. Dieses Schreibweise erkennt der Player 5 nicht. Außerdem wird eine Filmsequenz eingefügt , die diese Variable in einer if Struktur überprüft. Bei Erfolg wird auf flash6.htm weitergeleitet, alle früheren Player Versionen ignorieren diese Action und der Film läuft weiter.

Action im ersten Bild
_global.x = 1;

Action im ersten Bild der Filmsequenz
if (x==1) {
getURL("flash6.htm");
_root.stop();
}

Flash5
In diesem Frame befindet sich eine Filmsequenz, welche nachfolgende Aktionen enthält. Einer Filmsequenz konnte man erst ab Flash 5 Aktionen direkt zuordnen, von daher werden alle früheren Versionen die Aktionen ignorieren und der Film wird weiterlaufen.

onClipEvent (load) {
getURL ("flash5.htm");
_root.stop();
}

Flash4

Etwas weiter in der Timeline kommt das nächste Schlüsselbild für die Flash 4 Erkennung. Hier bekommt das Schlüsselbild nachfolgende Aktionen zugewiesen, welche mit Variablen arbeiten. Das war mit Flash 3 noch nicht möglich.

x = 1;
if (x==1) {
getURL ("flash4.htm");
tellTarget ("_level0") {
stop ();
}
}

Flash3

Dann folgt der Keyframe für Flash 3. Hier wird wieder eine Filmsequenz eingebettet. Filmsequenzen gab es in Flash 2 noch nicht. Die Filmsequenz (nicht der Hauptfilm) bekommt im ersten Frame nachfolgende Aktion.

getURL ("flash3.htm");
tellTarget ("_level0") {
stop ();
}

Flash2

Im letzten Schlüsselbild für Flash 2 wird die Aktion dem Schlüsselbild zugewiesen.

stop ();
getURL ("flash2.htm");

Flash1
hab ich mir geschenkt, das hat sowieso keiner. Sollte überhaupt kein Flash Player installiert sein, werden alle Aktionen ignoriert und die Seite wird nicht weitergeleitet.

Hier kann man sich das Ganze mal in der Praxis anschauen. Ich konnte leider nicht testen, ob das bei älteren Plugins funktioniert. Ich kann mir auch nicht vorstellen, dass es irgendwo noch einen Rechner gibt, mit Flash2 Plugin.

Flash Erkennung mittels VB Script

Man kann allerdings auch ohne einen Flash Player mittels VB Script eine Abfrage starten. Der folgenden Quelltext, generiert bei Flash Planet leitet auf die Seite flashstart.htm um, sofern Flash installiert ist und auf die Seite noflashstart.htm wenn kein Player installiert ist.

<HTML>
<HEAD>
<TITLE>FlashErkennung von Flash Planet</TITLE>
<meta name="GENERATOR" content="FlashPlanet.com Script Generator">
</HEAD>

<BODY BGCOLOR=#000000 TEXT=FFFFFF LINK=FFFFFF>

<SCRIPT LANGUAGE="JavaScript">
<!--
var useFlash = navigator.mimeTypes &&
navigator.mimeTypes["application/x-shockwave-flash"] &&
navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin;

//-->

</SCRIPT>
<SCRIPT LANGUAGE="VBScript">
<!--
On error resume next
useFlash = NOT IsNull(CreateObject("ShockwaveFlash.ShockwaveFlash"))
-->

</SCRIPT>
<SCRIPT LANGUAGE="JavaScript">
<!--
if ( useFlash ) {
window.location = "flashstart.htm";
} else {
window.location = "noflashstart.htm";
}
//-->
</SCRIPT>

</BODY>
</HTML>

 

Flash 5, Flash MX und höher
Mit der Aktion getVersion() wird die Version des Players abgefragt, das ist erst ab Flash 5 möglich. Alle früheren Versionen werden die Aktionen wahrscheinlich ignorieren. Der Wert der Aktion getVersion() könnte zum Beispiel so aussehen WIN 0,6,40,0. Es ist das Betriebssystem, Plugin Version und Unterversion.


Url überprüfen, Datenklau verhindern

Beispiel SWF anschauen oder download url.swf

 

AS3 den Pfad bestimmt man in AS3 mit: stage.loaderInfo.url

 

Mittels der Movieclip Eigenschaft _url kann man den Pfad eines Movies (swf-Datei) erhalten. Dadurch hat man die Möglichkeit die Veröffentlichung des Films auf ausgewählte Domains zu beschränken. Der Datenklau im Internet wird somit verhindert.

Die hier vorgestellte Lösung bietet keinen hunderprozentigen Schutz, aber für Otto Normalverbraucher sollte es reichen. Bei Flashhilfe.de hat Bill da Macha eine Komponente erstellt, die zusammen mit PHP eine richtig sichere Lösung bereitstellt.

http://forum.flashhilfe.de/forum/tipps-tricks/server-protection-swf-vor-fremdservern-schuetzen-192565-192565.html

 

Mit System.security.allowDomain(domain1, domain2, domain3.... domainN)
Ab Flashplayer 6 kann man Filme, die mittels Load Movie geladen wurden, nicht mehr so ohne weiteres vom Hauptfilm oder von anderer Stelle aus steuern, wenn der geladene Film auf einer anderen Domain liegt. Der geladene Film muss explizit andere Domains freigeben.
System.security.allowDomain("www.on-design.de");

Actions dieses Tipps:

Movieclip._url; System.security.allowDomain(domain1, domain2)

 

Umleitung nach Bildschirmauflösung / Screen resolution / Bühnenweite und Höhe

swf Beispiel SWF anschauen  oder download breitHoehe.fla

Will man in Flash die Bildschirmgröße abfragen, um dann den Falshfilm je nach Größe zu skalieren oder nicht, so geht das mit:

System.capabilities.screenResolutionX übergibt die Breite des Bildschirms. Wie man die Höhe ermittelt brauch ich wohl kaum zu erwähnen. Beachte, das es in FalshMX ein Bug im Actionfenster gibt. Dort wird vor dem x oder y ein Punkt gesetzt. Richtig ist diese Schreibweise ohne Punkt und X und Y werden groß geschrieben.
Stage.width über gibt die Breite des Anzeigenfensters, also der Platz, der Flash zur Laufzeit zur Verfügung steht in Pixeln.

Actions dieses Tipps:

System.capabilities.screenResolutionX System.capabilities.screenResolutionY, Stage.width, Stage.height.


Textfeld Textobjekt

Beispiel SWF anschauen  oder download textfelder.fla

Siehe auch die Beispiele für AS3

Textfeld mit Html-Text

 

Im Eigenschaftenfenster kann man dynamische Textfelder auch auf Html Text einstellen.

 

meinHtmlText="Hier <b>ein</b> Text mit <a href='http://www.pastorpixel.de'>Link</a>";

_root.meinTextfeld.htmlText=meinHtmlText;

 

Wie man sieht kann man auch Links auf die Art einfügen.

Selbstverständlich ist das auch mit dynamisch erzeugten Textfeldern möglich.

 

meinHtmlText="Hier <b>ein</b> Text mit <a href='http://www.pastorpixel.de'>Link</a>";

_root.createTextField("txt",1,20,20,200,20);

_root.txt.html = true;

_root.txt.htmlText =meinHtmlText;

 

 

hier werden folgende Actions erklärt:

Textfield.text; textfield.background; textfield.textColor; textfield.backgroundColor; textfield.border; textfield.borderColor; textfield.scroll; MovieClip.createTextfield(); textfield.removeTextfield(); new textFormat(); textFormat.size; textFormat.font; textField.setTextFormat(); textField.embedFonts();


string, substr, indexOf, Schriftformat, Schreibmaschineneffekt, suchen ersetzen

Beispiel SWF anschauen oder download typewriter.fla, string.fla

Das Fenster kann man (rechts unten) größer ziehen!

Siehe auch den Tipp Array mit weiteren Beispielen zu split(), join() sort etc.

Hier werden verschiedene Abfragen bzw. Probleme behandelt : Namen von Filmsequenzen, ASCII Code einzelner Buchstaben, Zielpfade von Filmsequenzen und Passwortabfragen, Eingaben in Textfeldern, Suchen von Worten in einem Text. Suchen ersetzen in Flash.

Hier noch ein praktisches Beispiel mit dem man sich aus eine Preisausgabe formatieren kann, die 2 Stellen hinter dem Komma anzeigt und ein "EUR" hinten anstellt.

function preisausgabe(x) {
if (!x) {
x = 0;
}
if (x == 0) {
return ("0.00 EUR");
} else {
x = String(x);
a = Number(x.indexOf(".")+1);
b = x.substr(a, 2);
if (b.length==1) {
x = x+"0";
}else if(!a){
x=x+".00";
}
return (x+" EUR");
}
}

 

Wie stellt man einen Exponenten (Hochzahl) in einem dynamischen Textfeld in Flash dar?

Fläche 20 m²

Man wählt im Eigenschaftenfenster, Schriftarten einbetten, und fügt in dem Feld für extra Zeichen die Potenzzahl ein. So liegt beispielsweise die 2 auf der Taste 2 mit Alt Gr Taste.

flaeche.text="20 m²";

 

Steuerzeichen in Strings

 

In Strings können Steuerzeichen eingesetzt werden, um beispielsweise neue Zeilen zu erzeugen:

\"     doppeltes Anführungszeichen
\'     einfaches Anrührungszeichen
\\     Backslash
\b     Backspace (Rückschritt)
\e     Escape-Sequenzen
\f     Seitenvorschub
\n     Zeilenvorschub (newline)
\r     Wagenrücklauf (Carriage return)
\t     horizontaler Tabulator
\x     hexadezimaler Wert
\u     ein beliebiges Unicode Zeichen in hexadezimaler Schreibweise kann hier angehängt werden, z.B:

 

\u0024

wäre das Dollarzeichen. Unter Windows Start/ Programme/ Zubehör/ Systemprogramme / Zeichentabelle, kann man sich alle Zeichen und Unicodes anzeigen lassen. Apropos Dollarzeichen, haben Sie schon mal etwas für mein Tutorial gespendet?

 

 

 

hier werden folgende Actions erklärt:

substr(); indexOf(); lastIndexOf(); eq; toLowerCase(); ord(); chr();split(); join();

 

 

Funktion

Parameter

Beispiel

Definition

Length

length

a="Pastor";
b=a.length;
Ergebnis: 6

Anzahl der Zeichen in einer Zeichenfolge.

substr() substr(start,länge)

a="Pastor";
b=a.substr(2,3);

Ergebnis: sto

Ermittelt eine Teilzeichenfolge aus einem String vom Startindex bis zum Ende. Beginn bei 0, der zweite Parameter ist optional und bestimmt die Anzahl der Zeichen.
substring() substr(start, endindex)

a="Pastor";
b=a.substring(1,3);

Ergebnis: as

Ermittelt eine Teilzeichenfolge aus einem String vom Startindex, Beginn bei 0. Der zweite Parameter bestimmt den Endindex und nicht die Anzahl der Zeichen. Der Endindex wird nicht in die Teilzeichenfolge aufgenommen.
slice() slice(start, endindex)

a="Pastor";
b=a.slice(1,4);
ergebnis: ast

Extrahiert aus einem String eine Teilzeichenfolge vom Startindex, beginnend bei 0 bis zum Ende. Der zweite Parameter ist optional und bestimmt das letzte zu extrahierende Zeichen.
toLowerCase() toLowerCase() a="Pastor";
b=a.toLowerCase();
ergebnis: pastor
Gibt eine Kopie des String-Objekts zurück, in der alle Großbuchstaben in Kleinbuchstaben umgewandelt werden.
toUpperCase() toUpperCase() a="Pastor";
b=a.toUpperCase();
ergebnis: PASTOR
Gibt eine Kopie des String-Objekts zurück, in der alle Kleinbuchstaben in Grossbuchstaben umgewandelt werden.
eq string eq string str1="doof";
str2="bleibt";
str3="doof";
str1 eq str2 ergibt false
str1 eq str2 ergibt true

Vergleichsoperator für Strings, liefert true oder false
siehe typewriter.swf

concat() concat(string) a="Pastor"
b=a.concat("Pixel")
Ergebnis: PastorPixel
Verkettet den String, mit dem Wert des Parameters von concat
indexOf() indexOf(Teilstring, StartSuchposition) a="Pastor Pixel";
b=indexOf("P");
Ergebnis: 0
c=indexOf("P", 5)
Ergebnis: 7
Durchsucht den String nach einem Teilstring und gibt als Ergebnis die Position des ersten Vorkommens des Teilstrings zurück. Ist der Teilstring nicht vorhanden, wird -1 zurückgegeben. Als zweiten Parameter kann man die Position eingeben, ab der der String durchsucht werden soll.
lastIndexOf() lastIndexOf(Teilstring, StartSuchposition) a="Pastor Pixel";
b=lastIndexOf("P");
Ergebnis: 7
durchsucht den String nach einem Teilstring und gibt die Position des letzten Vorkommens zurück. Der zweite, optionale Parameter gibt die Startposition an, ab der gesucht werden soll.

charAt()

charAt(Position)

a="Pastor";
b=a.charAt(4);

Ergebnis: o

ermittelt das Zeichen, aus der Position, Beginn bei 0

charCodeAt()

charAt(Position)

a="Pastor";
b=a.charAt(4);

Ergebnis: 111

Ermittelt den ASCII Zeichenwert, aus der Position, Beginn bei 0

Diese beiden Funktionen sind zwar keine String Funktionen passen aber gut zum Thema.
chr() chr(ASCII-Wert)

i=chr(111);

Ergebnis: o

ermittelt das Zeichen aus der numerischen Angabe des ASCII Wertes

ord()

ord ("character")

j=ord (“o”);

Ergebnis: 111

ermittelt den numerischen Wert eines Ascii Zeichens (also quasi Chr umgekehrt :-)
siehe typewriter.swf


Actionscript aus externen Dateien laden

(Beispiel Fla Datei downloaden) Unterordner: textladen, textladen.fla (text.txt, text1.as, text2.as, text3.as)
Beispiel SWF anschauen  oder download
Es gibt verschiedene Möglichkeiten Text bzw. Actions aus externen Dateien zu laden.

 

1. include / Actionscriptdatei einbinden

Actions laden über die Aktion #include="text.as" Dabei wird Actionscript, der mit der Endung as abgespeichert wird, geladen und ausgeführt Den Text kann man nach dem Veröffentlichen nicht ändern. Man muss nach Änderung des Textes die fla Datei erneut in Flash laden und den Film neu veröffentlichen. Man setzt diese Methode in erster Linie dazu ein, um Actionscript, der von mehreren Filmen benutzt wird, auszulagern.

Das Textfeld bekommt in den Textoptionen folgenden Einstellungen:

Des weiteren darf der Text in der Textdatei keine Zeilenumbrüche und keine Anführungszeichen haben. Die Anführungszeichen aus Html Tags müssen mit der suchen ersetzen Funktion des Texteditors in einfache Anführungszeichen ersetzt werden.

 

2.loadVariablesNum

Beispiel SWF anschauen fla Datei siehe Unterordner flashVars/ flashVars1.html (loadVars1.swf, text.txt)

Eine andere Möglichkeit ist den Text über loadVariablesNum ("Text.txt", 0); Dabei ersetzt der geladene Text eventuell vorhandenen Text. Die Schriftformatierungen des Textfeldes werden übernommen.
Der Text wird in einer Textdatei mit Endung txt abgelegt. Am Anfang steht der Variablenname des Textfeldes gefolgt von einem Gleichheitszeichen. Die Leerzeichen des Textes mussten in Flash 4 durch + Zeichen ersetzt werden. Das ist bei neueren Flashplayern nicht mehr nötig. Weitere Variablen werden mit dem kaufmännischem & verbunden z.B.: text1=...... &text2=... etc. Weitere Textoptionen sind:

Die Zeichencodierung spielt außerdem eine Rolle, die ich zugegebenermaßen nicht ganz verstanden habe. Von serverseitigen Scripts werden die Zeichen in der Regel URL codiert übertragen. In Textdateien sollte dies manuell übernommen werden. Ich speichere die Textdateien mit Windows Notepad im Dialogfeld von Speichern unter mit der Codierung UTF 8 ab. Dabei lasse ich die Sonderzeichen, ö,ä,ü,ß etc. wie sie sind.

 

 

Flashvars / Variablen aus der Html oder PHP Seite importieren

Die Variablen werden auf der Seite, in der die SWF Datei eingebunden ist deklariert. Die Variablen stehen zur Laufzeit der SWF Datei zur Verfügung

 

Beispiel SWF anschauen fla Datei siehe Unterordner flashVars/flashVars2.html (loadVars2.swf, loadVars2.php)

Man kann Variablen aus einer Html Seite an den Flashfilm übertragen indem man sie im Objekt Tag des Quellcodes anhängt. siehe auch loadVars Tipp bei Macromedia. In obigen SWF Beispiel wird das genauer erklärt.

 

Mittels flashvars Variablen in AS3 an die SWF Datei zu übertragen siehe dazu diesen Link http://www.dimitrij-pankratz.de/flashvars-mit-as3/

 

Der gleiche Swf Film wird beim weiterklicken in einer PHP Seite angezeigt, wobei er den Wert der Variablen per PHP erhält. Hiermit lässt sich eine Fülle von Anwendungen erstellen, sofern man PHP kann.

der Pastor rät Da es mittlerweile nötig ist Flashfilme auf andere Art einzubinden, damit sie auch im IE richtig angezeigt werden, kann man die Variablen auch anders im Html einbinden siehe dazu folgenden Link: http://blog.deconcept.com/swfobject/

 

Speichert euch diese Datei swfobject.js im gleichen Ordner ab und bindet den Flashfilm folgendermaßen auf der Htmlseite ein. In diesem Beispiel werden ein paar Variablen (li, mi, re) mit den Werten (links.htm, home.htm, rechts.htm) angehängt.

<script type="text/javascript" src="swfobject.js"></script>

<div id="flashcontent"> Dieser Text wird vom Flashmovie ersetzt. Er erscheint nur wenn kein Flashplugin vorhanden ist. </div>

<script type="text/javascript">

var so = new SWFObject("movie.swf", "mymovie", "200", "100", "7", "#336699");

so.addVariable("li", "links.htm");
so.addVariable("mi", "home.htm");
so.addVariable("re", "rechts.htm");

so.write("flashcontent");

</script>

 

Siehe auch
Variablen übertragen aus der Html Seite (z.B. mit Textlink) nach Flash mittels Javascript siehe hier.

 

Beispiel SWF anschauen fla Datei siehe Unterordner textphp
siehe auch nächsten Tipp load Vars

Um Variablen an eine Php-Datei zu übertragen reicht die Methode getUrl. Gebe den Pfad zur PHP-Datei (oder sonstige) an, wähle get oder post und alle Variablen der Zeitleiste werden übertragen, genau wie Formulardaten eines Html Formulars.
in den Flash-Beispielen zum Runterladen befindet sich ein Unterordner textphp. Dort ist ein Beispiel, wo Daten aus einer PHP Datei in einem Flashfilm angezeigt werden. Außerdem befindet sich in meinen PHP Tipps noch ein Beispiel einer Highscoreliste mit Flash und PHP.

Load Vars

Variablen importieren und exportieren

Beispiel SWF anschauen einige Beispiele funktionieren nur mit PHP (Unterordner loadVars) loadVars.swf
send And Load mit AS3 siehe diese Seite Turtlebite Flash CMS Framework

Ab Flash 6 importiert oder exportiert man Variablen aus externen Quellen mit der Load-Vars Klasse
Hiermit kann man Variablen laden und auch senden, beispielweise um mit Flash einen Download Counter zu erstellen. Folgende Methoden werden eingesetzt (LoadVars ist hier ein selbstvergebener Name):
Externe Variablen abrufen
LoadVars.load()
ActionScript Variablen von Flash an serverseitiges Script übertragen
LoadVars.send()
ActionScript Variablen an serverseitiges Script übertragen und Ergebnisse in Flash empfangen
LoadVars.sendAndLoad()

Die Eigentschaft .loaded gibt den boolschen Wert true zurück, wenn die Daten erfolgreich geladen wurden.
LoadVars.loaded

Hier werden folgende Funktionen erklärt:

LoadVars.new loadVars(); LoadVarsObjekt.load(); LoadVarsObjekt.onLoad(); LoadVarsObjekt.send(); LoadVarsObjekt.sendAndLoad(); PHP, MySQL

 

Emailformular mit Flash und PHP

swf Beispiel Beispiel SWF anschauen dieses Beispiel funktioniert nur mit PHP (Unterordner loadVars)email.swf

Mit der sendAndLoad Methode, kann man sich auch ein Maiformular mit Flash erstellen, welches per PHP verschickt wird. Das Schöne an der sendAndLoad Methode ist, dass man nach Erfolg des Email Versendens, eine Erfolgsmeldung zurück bekommt. Da die PHP Mail funktion in eine if-Struktur eingebettet ist, wird bei Erfolg mit echo die Variable "anzeige" mit dem Wert "es hat geklappt" versehen, welche dann von Flash empfangen und angezeigt wird. echo ist eine PHP Funktion, die etwas auf die Seite schreibt. Selbstverständlich könnte man die Eingaben der Forumlarfelder oder Eingabefelder auch mit getURL an eine PHP Seite mit Emailfunktion schicken, allerdings würde sich in dem Fall die PHP Seite öffnen. Mit der Flash Actionscript Methode Send and Load wird eine Email verschickt und die Htmlseite mit dem Flashfilm bleibt geöffnet. Siehe auch meinen Tipp Flash 8 Komponenten, dort erfährt man wie man Radiobuttons, Auswahllisten etc. in einem Emailformular benutzt. Außerdem habe ich hier noch eine Lösung wie man eine Email verschickt mit dem CGI von Strato.

 

Noch ein Tipp, der ein bisschen Spamschutz bietet, nennt die PHP Seite nicht mailform.php oder so ähnlich. Außerdem solltet ihr die Empfängeradresse auch von Flash schicken lassen, anstatt sie direkt reinzuschreiben. Ich weiß nicht genau, ob es was nutzt, wer mehr weiß, kann mir schreiben. Das Deaktivieren der catch all Funktion eurer Emails, kann auch von Vorteil sein. Das ist eine Funktion, die ihr beim Einrichten eurer Emails, bei euren Provider einstellen müsst. Sie bewirkt, dass alle Emails, die die richtige Endung haben, ankommen. Oder mit anderen Worten, alles was vor dem @ steht ist egal z.B.: blödmann@meineAdresse.de, pillepop@meinAdresse.de ...etc.

 

XML und Flash neu

 

XML Dateien in Flash laden, auslesen und anzeigen

swf Datei anschauen Beispiel SWF anschauen

Siehe auch XML und AS3

Dieses Beispiel besteht aus 2 fla Dateien und den dazugehörigen Textdateien und Flashfilmen.
xml.htm

  1. xml/xml.fla, kunden1.txt, kunden2.txt, kunden3.txt
  2. xml/xml2/xml.fla, filme.txt, Kino_tipp23.swf, letzte_Meldung23.swf, meineMeinung.swf

Die hier aufgeführten Beispiele erklären zwar einigermaßen die Grundlagen. Ich emfehle allerdings unbedingt den Abschnitt über das DOM Modell in selfhtml nachzulesen.

http://de.selfhtml.org/dhtml/modelle/dom.htm

Siehe auch folgende Beispiele. Es handelt sich dabei um Übungen und Beispiele, die ich mit dem Buch: Flash 8 und PHP gemacht habe.

 

Html Tags in XML Datei auslesen

Will man hmtl Tags aus einer XML Datei auslesen, ohne dass diese als neue Knoten erscheinen, benutzt man CDATA. Alles, was zwischen CDATA steht, wird nicht von XML interpretiert. Siehe dazu folgenden Forumsbeitrag vom Flashguru Matthias Kanngießer

var xmld = new XML("<?xml version='1.0'>");
xmld.parseXML('<nachrichten><news><![CDATA[Hier <b>ein</b> Text ]]></news></nachrichten>');
_root.createTextField("txt",1,20,20,200,20);
_root.txt.html = true;
_root.txt.htmlText = xmld.firstChild.firstChild.firstChild.nodeValue;

 

Sonderzeichen Steuerzeichen in XML

Bestimmte Zeichen wie beispielsweise das kaufmännische und & darf man in XML nicht eingeben. Man kann diese Zeichen formatieren. Wichtig dabei ist, dass das Textfeld, welches die XML Daten anzeigen soll, auf html-Text eingestellt ist, entweder im Eigenschaftinspektor oder per Actionscript: Auch die Zuweisung im Textfeld geschieht folgendermaßen

my_txt.html = true;

my_txt.htmlText = m[1].childNodes;

Die XML Datei wird nicht in UTF-8 sondern in Iso angelegt:

<?xml version="1.0" encoding="iso-8859-1"?>

Damit wird der Latin 1 Zeichensatz benutzt. In folgender Selfhtml Tabelle werden die Codes für die einzelnen Zeichen angezeigt.

So ist beispielsweise der Code für das kaufmännische und & die Zahl 38. Die Formatierung erfolgt nach folgendem Schema:

&#38;

Ein Zeilenumbruch sieht folgendermaßen aus:

&#13;

Das Freewaretool Map of Chars leistet hier auch gute Dienste.

Außerdem sollte man Flash noch mitteilen auf Latin 1 umzuschalten:

system.useCodePage=true;

Siehe dazu auch folgenden Beitrag.

 

Hier wurden folgende Funktionen erklärt:

new XML(); ignoreWhite; firstChild; childNodes; attributes;

 

XML-, Dataset- & Datagrid-Komponente

 

Ab Flash 8 lassen sich XML Daten auch mit Komponenten laden und darstellen. Näheres dazu siehe hier.

 

Flashbuttons bekommen Links und Beschriftung aus externer Textdatei

Flashbuttons mit Links aus Textdatei neues Frameset
Dieser Tipp kann extra runtergeladen werden, in der offline Version befinden sich die Dateien unter FlsExpl/button

 


Sound steuern mit dem Sound Objekt

Beispiel SWF anschauen oder download soundobject.fla
Achtung!!! die fla Dateien befinden sich auf der Downloadseite unter flaBeispiele2
Außerdem funktioniert Seite 10 des SWF Beispiels nur online.

Bei der Komprimierung mp3 in 16 bit kann es sein, dass der Sound auf einigen Rechnern sehr verzerrt klingt. Achtet auch drauf, dass ihr unter Einstellungen für Veröffentlichung Audio Stream und Audio Ereignis richtig einstellt.

 

On/ Off-Schalter

Dieses Beispiel in AS3

Hier noch ein Beispiel für einen einfachen on/off Schalter für Sound. Man erstelle sich einen MC mit zwei Bildern in der Zeitleiste. Ins erste Bild kommt ein Button, der den Sound ausstellt off_btn, ins zweite Bild kommt ein Button der Sound wieder anstellt on_btn.

 

Hauptfilm Bild 1

generalAudio = new Sound();
generalAudio.setVolume(100);

 

MC Bild 1

stop();
on_btn.onRelease = function() {
_root.generalAudio.setVolume(0);
gotoAndStop(2);
}

 

MC Bild 2

off_btn.onRelease = function() {
_root.generalAudio.setVolume(100);
gotoAndStop(1);
};

 

 

Hier werden folgende Funktionen erklärt:

Sound.new Sound(); Sound.attachSound(); Sound.start(), Sound.stop(), Sound.setVolume(); Sound.setPan(); Sound.getVolume(); Sound.getPan(); Sound.onSoundComplete(); Sound.duration; Sound.position, Sound.loadSound(), _soundbuftime();

Siehe auch den Tipp Schieberegler


Schieberegler

Beispiel SWF anschauen oder download soundslider.fla
Hier ein einfacher Schieberegler oder Scrollbalken, der sich vielseitig einsetzen lässt


Komponente

Achtung!!! download! Die fla Dateien und swf Dateien befinden sich in Beispiele2

Siehe auch Komponenten AS3
Ab Flash MX kann man Komponenten erstellen. Das sind Movieclips mit integriertem Actionscript, wobei sich Parameter im Eigenschaften-Fenster einstellen lassen. So kann man Elemente erstellen, die auch User ohne Actionscript Kenntnisse nutzen können.
In Flash MX gibt es ein paar sogenannte UI Komponenten, mit vorgefertigten Actions und Elementen. Auch in den allgemeinen Bibliotheken gibt es einige dieser UI Komponenten.

Ab Flash MX 2004 gibt es Komponenten mit der Endung SWC, diese kommen in folgenden Ordner bzw. Unterordner:
C:\Programme\Macromedia\Flash MX 2004\de\Configuration\Components
Etwas weiter unten gibt es ein paar Links zu Download Seiten.

AchtungOLD VERSION Komponenten selbst erstellen / Flash MX
komponente.swf
Beispiel SWF anschauen
AchtungOLD VERSION UI Komponenten / Flash MX
komponenteUI.swf
Beispiel SWF anschauen
AchtungOLD VERSION allgemeine Bibliotheken / Schaltfläche UI Komponenten / Fash MX
soundslider.swf
Beispiel SWF anschauen
 

UI Komponenten Flash 8/ Email Formular
Im online Beispiel wird an die Emailadresse versendet, die eingetragen wird
komponente8.swf

swf Beispiel SWF anschauen
 

UI Komponenten Actions
Hier werden noch einmal die wichtigsten Komponenten vorgestellt.

kompoBeispiele.swf

swf Beispiel SWF anschauen

Zeichnungsmethoden, Linien & Formen zeichnen, lineTo()

Beispiel SWF anschauen oder download lineTo.fla

Mittels den Funktionen der Zeichnungsmethoden kann man Formen und Linien in Flash zeichnen.

In AS3 ist die Syntax sehr ähnlich, nur dass hier vor den Methoden lineTo() etc. noch die Methode graphics erscheinen muss.
myShape.graphics.lineTo(10,100);

Außerdem darf man nicht vergessen, das Objekt mit addChild() der Anzeigenliste hinzuzufügen.

Siehe hierzu auch AS3 Objekte zeichnen

Hier werden folgende Funktionen erklärt:

lineTo(), lineStyle(), moveTo(), clear(), beginnFill(), endFill(), createEmptyMovieClip()


Color Object, newColor(), setRGB(), setTransform()

Beispiel SWF anschauen oder download rgb.fla
Mittels den Funktionen des Color Objects kann man Farben eines MCs interaktiv bestimmen.
Hier werden folgende Funktionen erklärt:

Siehe hierzu auch den AS3 Tipp. Dort wird auch erklärt, was dieser dezimale Uint Wert ist.

newColor(), setRGB(), getRGB(), getRGB().toString(), setTransform(), getTransform()

 

printJob() drucken

Flashbeispiel Beispiel SWF anschauen oder download printJob.fla
Will man mit Flash drucken, kann man mit der Aktion printJob() ganz genau definieren, was gedruckt werden soll. Auch dynamische Inhalte, sowie Inhalte, die aus Datenbanken generiert werden, können an den Drucker geschickt werden. Es lassen sich Breite und Höhe einer Seite, sowie die Orientierung des Druckers (quer, hochformat) einlesen, so dass man den Druck an diese Voreinstellungen des Druckers anpassen kann. Wenn man das Programm Flashpaper hat, kann man sogar dynamisch generierte Inhalte als swf- oder pdf-Datei abspeichern, indem man im Druckebedienfeld anstatt den Drucker das Flashpaper- Programm auswählt. Man denke an Seiten, auf denen man online ein T-Shirt, eine Tasse oder etwas anderes mit Flash gestalten kann. Zusammen mit Flashpaper hat man somit eine Alternative zum Umwandeln der Inhalte in SVG Dateien. Man kann in Flash den Druck als Bitmap oder Vektorformat definieren, so dass sich auch großformatige Grafiken verlustfrei drucken lassen.
Siehe auch die Dokumentation bei Adobe zum Thema printJob()
Siehe auch das Thema bei Adobe Livedocs Druckbereich festlegen (Pixel, Punkt & Co)

printJob(), addPage(), start(PrintJob.start-Methode); send (PrintJob.send-Methode), paperHeigth, paperWidth, pageHeigth, pageWidth, orientation,

 

Flash Filter per Actionscript

Flashbeispiel Beispiel SWF anschauen oder download filterAction.fla

Ab Flash 8 kann man MCs oder Schaltflächen auch Filtereffekte zuweisen, wie beispielsweise Schatten, Leuchten, Bevel etc. Diese Filter kann man a) über das Fenster Filter direkt zuweisen oder aber auch über die Klasse flash.filters Klasse dynamisch zuweisen. Wer sich viel Programmierarbeit sparen will, für den stellt Reinhart Redel auf seine Homepage www.sickworks.com ein kostenloses Tool zur Verfügung mit dem man sich Filter in AS2 oder AS3 programmieren kann. http://www.sickworks.com/filters/ Sogar ein Online- Filter- Generator für Actionscript ist vorhanden.


Anleitungen, Step by Step

Unter "Die ersten Actions" werden die Grundlagen Schritt für Schritt erläutert. Wenn man die Grundbegriffe der Zeitleiste, das Zuweisen von Aktionen und das Thema Symbole und Instanzen beherrscht, kann man auch die anderen Schritt für Schritt Anleitungen machen.


Cartoons zeichnen / oder die Grundlagen der Zeichnenfunktionen NEU

smileyIn diesem Tutorial lernt man die Grundlagen der Zeichenfunktionen, Objekte gruppieren, Linien und Füllungen, Symbole und Instanzen.

cartoon.fla
swf Beispiel SWF anschauen oder download


Die ersten Actions

actionGrundlagen.fla

Der Flashfilm rechts wird links Schritt für Schritt erklärt.

Flash 5/ Flash MX / Flash 8

Beispiel SWF anschauen oder download actionGrundlagen.fla

 

Flash MX 2004

Beispiel SWF anschauen oder download actionGrundlagen.fla

 


Scroll Menü / Aufklappmenü

scrollmenue.fla
Beispiel SWF anschauen oder download
Siehe auch den Tipp HitTest dort wird auf der letzten Seite ein horizontales Aufklappmenü mit Flash erklärt.


Das Mückenspiel

muecke.fla
Beispiel SWF anschauen oder download


Kartenspiel (ähnlich dem bekannten Memory © Spiel von Ravensburger)

Beispiel SWF anschauen oder download kartenspiel.fla
Hier wird ein Kartenspiel erklärt, ähnlich dem bekannten Memoryspiel. Aus einem Array werden die Zufallszahlen für die Verteilung generiert. Bei jedem Spielzug werden die beiden gezogenen Karten erkannt und miteinander verglichen. Kein Tipp für Anfänger Voraussetzung oder verwandte Themen sind: Instanzen ansprechen, Variablen, Array


Wegspiel (ein einfaches Geschicklichkeitspiel für Kinder)

swf Beispiel SWF anschauen oder download wegspielfla
Hier geht es um ein einfaches Geschicklichkeitsspiel für Kinder, um den Umgang mit der Maus zu erlernen. Ich habe 3 Spiele erstellt, wobei diese Beispiele immer etwas komplexer werden. So wird man Schritt für Schritt an alle benötigten Funktionen herangeführt. verwandte Themen sind: Instanzen ansprechen, Variablen, If-Else

 

Begriffserklärungen

 

rekursiv

eine Schleife mit Bezug auf sich selbst.
this.onEnterFrame = function() {
this._x = this._x+1;
};

Dieser Satz ist eine Lüge.
Der Satz ist unwahr. Der Satz ist wahr.

redundant

ein und dieselbe Sache wird auf 2 Arten definiert, z.B.: der weiße Schimmel

_root.film_mc._x=100;
_root.film_mc.onLoad = function() {
this._x=100;
};

   

 


D o w n l o a d    h i e r    k l i c k e n
 
Auf der Download Seite könnt ihr euch das Flash Tutorial sowie eine Menge fla Dateien runterladen. Gerade bei schwierigen Sachverhalten sagt eine fla oft mehr als tausend Worte. Auch die swf Beispiele sind dort als fla Dateien vorhanden.
| Tipps | Foren | flash Beispiele | im www
DEUTSCH
| Tipps | Foren | flash Beispiele | im www
ENGLISH

http://livedocs.adobe.com/flash/8_de/index.html
http://www.communitymx.com
http://www.flashforum.de
http://www.flashstar.de ***
http://www.html-world.de
http://www.dasprinzip.com ***
http://www.flashpower.de
learning how to
Seibsprogrammladen
http://www.flashdictionary.de.vu/
www.flash4all.de
www.cyber-college.de
www.flashworker.de ***
www.spotlight.de
http://www.flashhilfe.de


traumproject
Flash in Selfhtml (Live Connect)
Farbfächer Komponente
Filter tool Actionscript
soundarchiv
Die eigene Homepage erstellen

www.pepworks.com

http://www.moock.org/webdesign/flash *** <

http://blog.oaxoa.com/
http://www.cartoonsmart.com
http://www.flashandmath.com/
Sepiroth
www.kessels.com
www.were-here.com
www.flashkit.com
Animation Package
Flash Guru
FFiles
communitymx
3D in Flash Tutorial / kirupa.com
Cartoon tutorial
cartoonsmart.com

Tools

Swift 3D das ultimative Tool, um 3D Objekte in Flash darzustellen

Goldshell Bildschirschoner und vieles mehr, Freeware & Shareware Power Clients Farbfächerkomponente

Holoville coole Komponenten, thank you for Holopicker

Panorama Flashplayer

 

coole Komponenten, ein Artikel von Visual X

 


© Michael Albers
h t t p : / / w w w . p a s t o r p i x e l . d e

Impressum / Datenschutz

m a i l @ p a s t o r p i x e l . d e

| meine Flash Seite |

gotoAndPlay(in Frieden);