4 Standardbefehle

Thema:
Christian Hof's Variablen Tutorial
Description:
Variablen in allen Variationen
Keywords:
Flash, Set Variable, Dynamik, Interaktivität, Steuern, Filminstanz, Movie Clip, Level, Aktionen, Befehle
Author:
Christian Hof
Date:
04.01.2000
Doc-ID:
30-004
URL:
http://www.flashworker.de/tutorial/30/004.html
Version:
1.0
Änderungen:

Erstellung

Anforderungen:
Flash 4
Vorkenntnisse:
Flash Grundkenntnisse
Download:
--

1 Einleitung

2 Grundlagen

3 Textfelder

4 Standardbefehle
  Set Variable
  Go to and Play
  Get URL
  If-Else-Endif
  Tell Target

5 The Matrix

6 Ausblicke


Standardbefehle

Set Variable
Set Variable ist der Basisbefehl zum Initialisieren und Verändern von Variablen. Dabei kann der Inhalt einer Variablen wieder aus einer Verknüpfung anderer Variablen bestehen. Dabei verknüpfen die Rechenoperatoren Variablen nach Rechengesetzen, während der &-Operator Variableninhalte als Zeichenketten aneinanderhängt. Es können auch Variablen und echte Zeichenketten oder Variablen und Zahlen miteinander verbunden werden. Als Beispiel diene das folgende Actionscript:

Set Variable "ausgabe" = "Hallo" & CHR(32) & "Welt"
Comment: Hallo Welt
Set Variable "sieben" = 7
Set Variable "sinndeslebens" = 6 * sieben
Comment: 42





Go to and Play
Abb.1: Go to and Play mit Variable
Abb.1: Go to and Play mit Variable

Mit der Option Ausdruck (Expression) kann auch im Befehl Go to mit Variablen gearbeitet werden. Dabei kann das Ausdrucksfeld auch hier für Variablennamen verwendet werden. Auf diese Weise könnte also das Rahmenprogramm ermitteln, wohin der Befehl springen soll. An dieser Stelle kann auch mit Systemvariablen wie _currentframe oder _totalframes gearbeitet werden. Es kann auch auf Variablen zugegriffen werden, die im Hauptfilm liegen.
Natürlich stellt sich hier die Frage, was das ganze denn eigentlich für einen Nutzen hat. Sie können damit z.B. einen Button entwerfen, der beim Roll Over eine Verformung anzeigt, und beim Roll Out diese Verformung wieder "rückgängig" macht. Hierbei wird die Verformungsbildsequenz einfach umgedreht, an die Originalsequenz angehängt und der Roll Out des Buttons überprüft, wo die Verformung gerade steht, berechnet den entsprechenden Punkt an der gespiegelten Seite und fährt dort weiter. Dieses Beispiel soll später aber noch ausführlich behandelt werden.




Get URL
Auch im Befehl Get URL kann mit Variablen gearbeitet werden. Dies kann sehr nützlich sein, wenn die URL-Adressen aus einem Textfeld eingelesen werden sollen. Genauso kann auch das Target per Variable angegeben werden.




If-Else-Endif
Abb.2: Ausdrucksbereich des If-Befehls
Abb.2: Ausdrucksbereich des If-Befehls

Die Befehlsstruktur If-Else-Endif eignet sich hervorragend, um variablenbedingt in einem Shockwave-Film zu verzweigen. Folgende Strukturen sind nicht selten in grossen Filmen zu finden:

If (/:counter <= 10)
      Go to and Play (/:counter)
Else If (/:counter <= 20)
      Set Variable "intern" = 1
      Go to and Play (/:counter - 5)
Else
      Go to and Play (/:counter - 10)
End If
Auch hier kann also auf Variablen an allen Punkten des Filmes zugegriffen werden. Ausserdem kann auch die Else If Anweisung solche Abfragen beinhalten.




Tell Target
Tell Target stellt in Verbindung mit Variablen einen sehr nützlichen Befehl dar. Das Target kann nämlich aus verschiedenen Strings zusammengesetzt werden. Wichtig ist, dass beim "Betreten" des Targets alles aus der Sicht des Zieles selbst geschieht, womit der Zugriff auf die Variablen des aktuellen Quellcodes an der neuen Hierarchie ausgerichtet sein muss. In unserem Beispiel werden von einer Symbolebene aus nacheinander darin enthaltene Filme angesprochen. Da die Zählvariable aber nicht so ohne weiteres an einen angesprochenen Film übergeben werden kann, holt sich dieser film den Wert einfach aus seinem Muttersymbol.

Set Variable "i" = 1
Loop While (i >= 10)
  Begin Tell Target ("movie" & i)
    Go to and Play (..:i)
  End Tell Target
  Set Variable "i" = i + 1
End Loop
Natürlich wäre auch folgender Ansatz möglich:
Set Variable "i" = 1
Loop While (i >= 10)
  Begin Tell Target ("movie" & i)
    Go to and Play (Substring(_name,6,Length(_name)-5))
  End Tell Target
  Set Variable "i" = i + 1
End Loop
Hier ermittelt der Film einfach aus seinem eigenen Namen heraus die Zahl, mit der er selbst angesprochen worden ist. Substring stellt dabei genauso wie Length ein Symstemmethode dar, mit der Strings ausgewertet werden können. Man sollte hier übrigens beachten, dass bei movie1 bis movie9 die Zahl nur ein Zeichen lang ist, daher der kleine Trick mit der Methode Length.




Weiter