11. Eigenschaften von Filmsequenzen
Vorbereitung
- Um etwas mit den Eigenschaften spielen zu
können, benötigen wir zuerst eine kleine Animation, die wir in der linken
Hälfte unserer Bühne platzieren. In die rechte Hälfte wird ein Knopf gelegt.

- Um den Aufwand mit einer eigenen Animation zu sparen, kann diese Datei von
hier geladen werden: flash/11_01a.fla
oder auch einfach als Bibliothek geöffnet werden um die Animation zu
übernehmen.
- Nun wird der Instanz der Filmsequenz der Name Sonne vergeben.

- Nun wollen wir mit den Eigenschaften der Sonne experimentieren. Dazu ist
es wichtig zu Wissen, dass die Bühne als _root
angesprochen wird und anschließend ein Punkt mit dem Namen des Objektes folgt.
Die Sonne kann demnach über _root.Sonne
angesprochen werden.
Dynamische Textfelder
- Wir erstellen rechts hinter dem Knopf ein Textfeld mit den Zeichen "000".
- Dann markieren wir dieses Textfeld und öffnen das Bedienerfeld
Textoptionen über Fenster / Bedienerfelder /
Textoptionen. Dort werden folgende Parameter eingetragen:
- Dynamischer Text - erlaubt die Anzeige sich verändernder Zeichen
- Eine Zeile - begrenzt die Zeichen auf eine Zeile
- entfernen die Markierung bei Auswählbar - dadurch kann der Feldinhalt
nicht über eine Eingabe während des Filmablaufes geändert werden.
- Variable: SonneAlpha - das Textfeld bekommt den Namen SonneAlpha
zugewiesen.
- Schriftarten einbetten - verbessert die Darstellung der Schrift und wir
beschränken uns um Speicherplatz zu sparen auf die Numerischen Zeichen.

getProperty und setProperty
- Wir erstellen eine zweite Ebene und benennen die beiden Ebenen Script und
Grafik. Die Grafikebene mit den bereits enthaltenen Objekten verlängern wir um
ein Bild.
- Nun fügen wir in der Script Ebene im Bild ein die ein ActionScript ein zur
Initialisierung der benötigten Variablen. Dazu geben wir als Script folgendes
ein:
_root.SonneAlpha = getProperty(_root.Sonne, _alpha);
- Im Bild 2 der Script Ebene springen wir wieder zurück zu Bild 1 mit dem
Befehl:
gotoAndPlay (1);
- Dem Knopf wird ein ActionScript zugewiesen. Durch Knopfdruck soll der Alphawert des Objektes Sonne geändert werden.
Dies ist über den Befehl setProperty
möglich. Diesen Befehl finden wir in der Kategorie Aktionen. Wir fügen den
Befehl über den Normaler Modus (Strg
+ N) ein.
- Die Parameter dazu sind
target _root.Sonne
property _alpha
value _root.SonneAlpha
-10
- Bei Knopfdruck wird nun der Alpha Wert der Instanz Sonne jeweils um
10% verringert. Dies können wir bereits testen flash/11_01b.swf
flash/11_01b.fla
Math.round
- Die Berechnung des Alphawertes geschieht nicht nach den uns gewohnten
Zahlen wie 100%-10%=90%. Die Berechnung ist wesentlich komplexer, weshalb
ungerade Zahlen mit vielen Kommastellen entstehen. Um diese wieder zu einer
uns gewohnten Zahl zu runden fügen wir in der Ebene Script im 1. Bild den Befehl
Math.round ein. Diese sieht dann so aus:
SonneAlpha = Math.round(getProperty(_root.Sonne, _alpha))
- Die Berechnung erfolgt nun in 10er Schritten.
- Nun basteln wir uns noch einen Knopf, mit dem wir den Alphawert der Sonne
in 10er Schritten erhöhen können. Dazu kopieren wir uns den ersten Knopf und
Beschriften das ganze wie in diesem Vorbild:

- Jetzt muss nur noch das ActionScipt für den +-Knopf statt mit -10 mit +10
rechnen.
- Jetzt funktioniert das ganze schon viel besser:
flash/11_01c.swf
flash/11_01c.fla
Vorschau if Befehl
Nach unserer VHS-Vorgabe ist die Aufgabe hiermit abgeschlossen.
Allerdings läuft die Variable noch unter 000 in den Minusbereich und über 100
wird auch kräftig weiter gezählt. Wegen des besseren Zusammenhanges, schauen
wir uns auch dafür noch die Lösung an, obwohl dieser Befehl erst in der nächsten
Stunde vermittelt wurde.
- Im 1. Bild in der Ebene Script fragen wir die Variable _root.SonneAlpha
ab, ob diese über 100 ist, wenn ja wird der Wert der Variable einfach wieder
auf 100 zurück gesetzt.
if ( _root.SonneAlpha > 100 )
{
_root.SonneAlpha = 100;
}
- Genau so fragen wir auch den Wert 0 ab und setzten bei einer
Unterschreitung den Wert einfach wieder auf 0 zurück.
if ( _root.SonneAlpha < 0 )
{
_root.SonneAlpha = 0;
}
- Hier ist das Ergebnis:
flash/11_01d.swf
flash/11_01d.fla
Überblick Eigenschaften
- Außer dem Wert können noch weitere Werde an einem Objekt auf diese Weise
geändert werden. Diese sind:
- _xscale und _yscale
- _width und _heigtht
- _rotation
- Um diese Werte auch über Knöpfe ändern zu können kopieren wir die bereits
vorhandenen Knöpfe und ändern entsprechend die Beschriftung und die
ActionScipts.
- Außerdem bauen wir noch einen Reset Knopf ein, der die Werte für alpha,
xscale, yscale und rotation wieder auf die Startwerte zurücksetzt.
- Nach der großen Fleißarbeit flash/11_01e.swf
flash/11_01e.fla