Die Größe dieses Abschnitts entspricht in gar keiner Weise
dem Umfang dessen, was es an Möglichkeiten beim Schreiben von
Actionskript-Anweisungen gibt.
Hier wird 0nur eine Auswahl allergrundsätzlichster, einfachster
Anwendungsmöglichkeiten aufgeführt und jeweils mit einem
Anwendungsbeispiel beschrieben.
Außerdem wird der Versuch unternommen, die Skriptsprache zu
übersetzen. Die jenigen unter den Lernenden, die schon mit anderen
Skriptsprachen zu tun hatten, und ganz besonders die, die Javascript
kennen, werden darauf verzichten können.
Und die anderen haben am Ende des Abschnitts hoffentlich eine leise
Ahnung, wohin das alles führen kann, wenn man sich so richtig
in das Scripten reinhängt...
Los gehts:
Grundsätzlich kann man man den Skripttext vollständig per Hand eingeben, man kann aber auch vorgefertigte Bausteine verwenden, die dann nach Bedarf ergänzt werden.
Das Actionscript-Fenster
Standardmäßig öffnet sich das Bedienfeld Aktionen
unterhalb des Eigenschaften-Fensters und kann dort bei Nichtbenutzung
wieder minimiert werden.
Beschreibung:
Ganz oben steht, welches Objekt gerade ein
Script erhält.
Links befinden sich viele Ordner mit vorgefertigten
Scripten zu den verschiedensten Situationen. Rechts
im grauen Bereich werden gegebenenfalls Zusatzoptionen (zum Teil auswahlpflichtig)
angeboten.
Darunter befindet sich das Textfenster,
in dem die der Scripttext dargestellt und gegebenenfalls auch verändert
werden kann.
Für
ungeübte Benutzer ist der Normalmodus
(bei XP) vorgesehen, bzw. in höheren Flashversionen die Scripthilfe.
In beiden Fällen befindet sich dieses Angebot rechts oberhalb
des Textfensters und in beiden Fällen wird der Bereich für
die Zusatzoptionen zugeschaltet. Ist dieser Modus aktiviert, kann
man im Textfenster keine individuellen Änderungen vornehmen.
Um den Normalmodus zu verlassen, muss man den Expertenmodus
wählen, bzw. die Skripthilfe deaktivieren. Dadurch wird
der Bereich für Zusatzoptionen weggeschaltet.
Wichtig: Für die ersten Beispiele
bleiben wir im Normalmodus, arbeiten also mit der Skripthilfe.
Für Aktionen, die in der Zeitleiste eingefügt werden, legen
wir in der entsprechenden Zeitleiste (Hauptszene oder Unterszene/"Innere
Animation") oberhalb aller anderen Ebenen eine neue Ebene ein,
nennen sie AKTION oder SKRIPT. Dies dient einer sehr praktischen Übersichtlichkeit
(- grundsätzlich könnte man das Skript auch in irgendeiner
anderen Ebene mitunterbringen, aber bitte nicht....).
Die Existenz eines Skriptes in einem Schlüsselbild wird durch
ein kleines "a" gekennzeichnet.
...und jetzt ein paar Beispiele:
Ein Film soll am Ende eines Bewegungsablaufes
automatisch anhalten.
1. Wir legen eine AKTION-Ebene an (siehe
oben) und fügen über dem allerletzten Bild des Bewegungsablaufs
ein Schlüsselbild ein.
2. Im Aktionenfenster wird der Ordner Filmsteuerung
geöffnet
3. und doppelt auf stop geklickt
Im Textfenster müsste nun folgendes stehen:
stop();
Ein Film soll am Anfang eines Bewegungsablaufes
stehenbleiben
damit er später per Mausklick gestartet werden kann.
1. Wir legen eine AKTION-Ebene an (siehe
oben) und fügen über oder vor dem ersten Bild des Bewegungsablaufs
ein Schlüsselbild ein.
2. Im Aktionenfenster wird der Ordner Filmsteuerung
geöffnet
3. und doppelt auf stop geklickt
Im Textfenster müsste nun folgendes stehen:
stop();
Anhalten eines Bewegungsablaufs per Mausklick.
1. Die Instanz einer Schaltfläche wird
auf der Bühne 1x angeklickt
2. Im Aktionenfenster wird der Ordner Filmsteuerung
geöffnet
3. und doppelt auf stop geklickt
Im Textfenster müsste nun folgendes stehen:
on (release) {
stop();
}
on (release) heißt so viel wie: bei Loslassen der Maustaste
Befindet sich die anzuhaltende Animation innnerhalb eines Symbols und nicht in der gleichen Szene/Zeitleiste wie die Schaltfläche, benötigt die Symbolinstanz einen Instanznamen (z.B. "rad"). Dieser Name muss dann im Expertenmodus / ohne Skripthilfe im Text ergänzt werden und im Textfenster müsste nun folgendes stehen:
on (release) {
rad.stop();
}
Starten eines Bewegungsablaufs per Mausklick.
1. Die Instanz einer Schaltfläche wird
auf der Bühne 1x angeklickt
2. Im Aktionenfenster wird der Ordner Filmsteuerung
geöffnet
3. und doppelt auf play geklickt
Im Textfenster müsste nun folgendes stehen:
on (release) {
play();
}
Befindet sich der anzuhaltende Ablauf innnerhalb eines Symbols und nicht in der gleichen Szene/Zeitleiste wie die Schaltfläche, benötigt die Symbolinstanz einen Instanznamen (z.B. "rad"). Dieser Name muss dann im Expertenmodus / ohne Skripthilfe im Text ergänzt werden und im Textfenster müsste nun folgendes stehen:
on (release) {
rad.play();
}
(Übung Planetarium ausführlich erklären!)
Per Mausklick soll zu einem bestimmten Punkt
in der Zeitleiste gesprungen werden.
1. Die Instanz einer Schaltfläche wird
auf der Bühne 1x angeklickt
2. Im Aktionenfenster wird der Ordner Filmsteuerung
geöffnet
3. und doppelt auf goto geklickt
Im Textfenster müsste nun folgendes stehen:
on (release) {
gotoAndPlay(1);
}
gotoAndPlay (1); heißt so viel wie:
gehe zu Bild 1 dieser Zeitleiste und spiele den
Film ab!
Oberhalb
des Textfensters gibt es verschiedene Auswahl- möglichkeiten:
Soll der Film abspielen oder stoppen?
Soll zu einer Bildnummer, einer vorhandenen Bildbezeichnung, dem nächsten
oder dem vorhergehenden Bild gegangen werden? Und wenn, zu welcher
Bildnummer? Zu welchem Bildnamen? Oder gar zu einer ganz anderen Szene?
Die Anweisung könnte also auch so aussehen:
on (release) {
gotoAndStop(25);
}
oder so:
on (release) {
gotoAndPlay(auto_rollt);
}
Per Mausklick soll zu einem bestimmten Punkt
in der Zeitleiste eines Symbols gesprungen werden.
1. Die Instanz einer Schaltfläche wird
auf der Bühne 1x angeklickt
2. Im Aktionenfenster wird der Ordner Filmsteuerung
geöffnet
3. und doppelt auf goto geklickt
Nachdem im Expertenmodus die nötigen Ergänzungen eingegeben
wurden, könnte im Textfenster nun folgendes stehen:
on (release) {
auto.rad.gotoAndPlay(2);
}
Rechts ein kleines Beispiel: jedesmal wenn das Karo angeklickt wird,
wird es selbst unsichtbar und dafür erscheint ein Kreis. Wenn
man den Kreis anklickt, geht es umgekehrt. Das Problem könnte
man zwar auch mit einem Wechsel von einem Bild zum anderen ( gotoAndPlay(2);
gotoAndPlay(1); ) gelöst werden, hier machen wir es mit der Eigenschaft
sichtbar = visible
1. Je eine Instanz der Kreis- und der Karo-Schaltfläche
wird auf der Bühne plaziert und erhält einen Instanznamen:
karo bzw. kreis.
Den Kreis auf der Bühne auswählen und...
2. ...im Aktionenfenster den Expertenmodus
ein- (die Skripthilfe aus-)schalten
3. Im Ordner Filmsteuerung auf on
doppelt klicken
4. es öffnet sich automatisch ein Auswahlfenster, hier doppelt
auf release klicken.
5. Alles andere wird mit der Hand eingetragen und soll am Ende so
aussehen:
on (release) {
karo._visible= true;
kreis._visible= false;
}
und beim Karo umgekehrt:
on (release) {
kreis._visible= true;
karo._visible= false;
}
nicht unsichtbar, aber transparent:
on (release) {
karo._alpha= 100;
kreis._alpha= 30;
}
und beim Karo umgekehrt:
on (release) {
kreis._alpha= 100;
karo._alpha= 30;
}
Mauszeiger
Hier noch zwei Tipps für diejenigen, die ihren fertigen Film gar nicht in eine Website einbinden wollen, sondern als ausführbares Programm (EXE-Datei für PC, QXR-Datei für Mac) weitergeben möchten.
Damit der Film bildschirmfüllend abgespielt wird:
1. eine Ebene "Aktion" in der Hauptszene und dort im 1.
Schlüsselbild...
2. Im Aktionenfenster, im Normalmodus wird
der Ordner Browser/Netzwerk geöffnet
3. und doppelt auf fscommand geklickt.
4. es öffnet sich automatisch ein Auswahlfenster, hier doppelt
auf release klicken.
5. Alles andere wird mit der Hand eingetragen und soll am Ende so
aussehen:
Im Textfenster müsste nun folgendes stehen:
fscommand("fullscreen", "true");
es kann sinnvoll sein auch noch diese Zeile einzufügen:
fscommand("allowscale", "false");
damit der Benutzer nicht wild an der Größe herumzerren kann. Für die Eingabe von "false" muss im Expertenmodus gearbeitet werden
quit