17. Letzte Tipps
Ballbewegung über ActionScript
- Dies wurde bereits im Kapitel 14 mit dem Befehl onClipEvent ausführlich
besprochen. Allerdings haben wir als Tipp noch eine Kurzschreibweise für die
Zuweisung von Werten an ein Objekt gelernt. In der Vergangenheit haben wir
dazu immer den Befehl setProperty benutzt. Als Alternative kann der Wert aber
auch direkt mit einem = zugewiesen werden.
Bsp:
// einfache Schreibweise:
_root.Ball._x = StartPosX;
// ausführliche Schreibweise:
setProperty (_root.Ball, _y, StartPosY);
- Ein Beispiel finden wir in der Ebene Skript im Bild 1
flash/17_01.swf
flash/17_01.fla
.
Filme nachladen
- Wir starten wieder mit einer neuen Flashdatei.
- Als erstes platzieren wir 2 Knöpfe am rechten Rand. Ich habe dazu aus der
Standard Bibliothek die Push Buttons green und red gewählt
- Dann wird eine leere Filmsequenz erstellt mit dem Namen toload.
- Diese Filmsequenz wird links oben auf der Bühne platziert und als Instanz
toload bezeichnet.
- Nun belegen wir den grünen Knopf mit dem ActionScript
on (press)
{
loadMovie("04_kreislauf.swf", _root.toload);
}
- Damit wird der Movie 04_kreislauf.swf aus Kapitel 4 in die Instanz toload
geladen. Diese SWF-Datei muss sich im gleichen Verzeichnis befinden. Hier zum
download
Beispiel Kreislauf
.
- Um den Movie wieder zu entladen, wird der Befehl unloadMovie genutzt. Der
rote Knopf wird hierzu mit folgendem Script belegt:
on (press)
{
unloadMovie( _root.toload);
}
- Eigentlich sollte es so funktionieren. Der Film wird zwar entladen, es
folgt aber auch noch eine Fehlermeldung über einen falschen Pfad (Error
opening URL...) Die Alternative ist einen leeren Film zu erstellen und diesen
statt des unload Befehls zu laden. Den leeren Film nennen sie einfach leer.fla
bzw. leer.swf.
- Über einen zweiten roten Knopf wird dieser Film geladen und ersetzt den
über den grünen Knopf geladenen Film.
- Hier das Beispiel flash/17_04a.swf
flash/17_04a.fla
.
- Nun fügen wir ein weiteres Paar Knöpfe hinzu. Über diese laden wir einen
Film in die Ebene 1. Ohne Parameter werden die Filme in Ebene 0 geladen und
würden den aktuellen Film vollkommen ersetzen. Wenn wir die Ebene 1 angeben,
wird der nachgeladene Film zum aktuellen Film hinzu geladen. Der Befehl dazu
lautet:
loadMovie("08_02b.swf", 1);
- Diesmal nehmen wir aus Kapitel 8 den mouse over dot Effekt Film flash/08_02b.swf
.
- Genauso mit dem roten Knopf wird der Film leer in Ebene 1 geladen mit dem
Befehl:
loadMovie("leer.swf", 1);
- Hier das Endprodukt: flash/17_04.swf
flash/17_04.fla
.
Drucken
- Wir nehmen die Datei vom vorigen Beispiel und fügen einen weiteren grünen
Knopf hinzu.
- Diesen belegen wir mit dem Befehl:
getURL("print:", _root.toload);
- Nun kann mit einem Klick auf diesen Knopf der Inhalt der Instanz toload
ausgedruckt werden flash/17_05.swf
flash/17_05.fla
.
- Achtung!! Etwas irritierend an der Geschichte ist, dass nach dem Öffnen
des Druckdialogs keine Maussteuerung in diesem möglich ist. Der Ausdruck muss
mit der Enter-Taste bestätigt werden, bzw. Änderungen im Druckdialog müssen
mit der Tastatur durchgeführt werden.
- Leider ist das noch nicht die optimale Lösung. Deshalb habe ich noch etwas
gestöbert und unter Flash 5 gibt es doch tatsächlich einen eigenständigen
Befehl print und damit habe ich noch etwas weiter experimentiert. Die Lösung
zum Ausdrucken der Instanz toload lautet dann so:

- Und damit funktioniert der Drucken Dialog auch wieder mit der Maus
flash/17_05a.swf
flash/17_05a.fla
.