Das Multiplikator-Beispiel
Zur generellen Erklärung siehe Modul 8.7e. Weitere Erklärung nachfolgend:
Die Eingabetextfelder wurden als Variablen definiert und heißen varZahl1 bzw. varZahl2. Das Ergebnisfeld ist ebenfalls als Eingabefeld definiert. Die Variable nennt sich Ergeb
Der Button ruft folgendes Flash-Skript auf (in das Objektaktionenfeld eingeben bzw. dort zusammenklicken
on (release) {
if (Number(Number(VarZahl1)*Number(VarZahl2)) == Number(Ergeb)) {
tellTarget ("testen") {
gotoAndStop (2);
}
} else {
tellTarget ("testen") {
gotoAndStop (3);
}
Ergeb = "?";
}
}
Wenn Sie Modul JavaScript in Handarbeit (Kursmodul 7) durchgearbeitet haben, sollten Sie mit dem Nachvollziehen des Skripts keine Probleme haben.
Die Bedingung if testet, ob die Multiplikation der eingegebenen Variablen (als Nummern betrachtet) der Nummer der im Antwortfeld eingegebenen Nummer entspricht. Wenn ja, wird Schlüsselbild 2 in Szene Testen aufgerufen (dort steht dann korrekt), ansonsten Schlüsselbild 3 von Szene testen. Dort steht dann falsch. Gleichzeitig wird die Variable Ergeb auf ? gesetzt.
Beim Aufruf des Films wird Szene Testen natürlich ebenfalls aufgerufen. Schlüsselbild 1 ist dann aber leer, damit wird nichts angezeigt. Alle drei Schlüsselbilder der Szene Testen haben einen Stopper, damit nicht automatisch alle Schlüsselbilder hintereinander angezeigt werden.
Nachfolgend einige Screenshots zum Nachvollziehen:
Das Beispiel besteht nur aus einer Szene. Diese beinhaltet nur eine Ebene sowie ein Schlüsselbild. Auf der Bühne sehen Sie die drei Texteingabefelder, die (aus der allgemeinen Bibliothek genommene und leicht veränderte) Schaltfläche, die dann mit obenstehendem Skript belegt wurde, sowie das Icon der Instanz für Filmsequenzsymbol "testen". Das Icon besteht nur aus einem leeren Kreis (zur Erkennung im Screenshot rot umrandet) quasi als Platzhalter, da das erste Schlüsselbild der Filmsequenz leer ist (s.u.).
Ganz wichtig ist die Vergabe eines Instanznamens an die Filmsequenzinstanz, ansonsten gibt es Skriptfehler. Hierzu das Instanzsymbol (oben in rotem Kreis) aktivieren und im Instanzfeld einen Namen eingeben. In unserem Beispiel ist es der gleiche Name wie für das Filmsequenzsymbol. Fehlt er, findet telltarget die Filmsequenz nicht. |
![]() |
Nebenstehend die Bühne für die Filmsequenzinstanz "testen". Sie besteht aus drei Schlüsselbildern, von denen das erste leer ist (Sie sehen dies an der weißen Farbe des Schlüsselbildes, welches aber den schlüsselbildtypischen Kreis trägt). Leere Schlüsselbilder fügen Sie unter Einfügen/Leeres Schlüsselbild ein.
Auf der Bühne zu sehen ist Schlüsselbild 2. Schlüsselbild 3 hätte einen anderen Text (Leider falsch). Alle drei Schlüsselbilder (auch das leere!) sind mit einem "Stopper" versehen. Hierbei markieren Sie das ensprechende Schlüsselbild, rufen das Aktionsfenster auf und wählen dort die Aktion Stop. Zu sehen ist dies für Schlüsselbild 2. Wären die Stopper nicht da, würde die Filmsequenz automatisch durchlaufen, was wir nicht wollen. |
![]() |
Hinweis: TellTarget wird von Flash 5 zwar noch unterstützt, es soll aber durch die Anweisung with abgelöst werden. Das entsprechende o.a. Skript würde dann lauten:
on (release) {
if (Number(Number(VarZahl1)*Number(VarZahl2)) == Number(Ergeb)) {
with(testen) {
gotoAndStop (2);
}
} else {
with(testen) {
gotoAndStop (3);
}
Ergeb = "?";
}
}Es wurden also nur die Anweisungswörter ausgetauscht, sowie die Gänsefüßchen für den Parameter testen entfernt. Wenn Sie nun einen .swf-Film exportieren, muss allerdings unter Datei/Einstellungen für Veröffentlichungen/ Flash die Version Flash 5 angegeben werden. Mit niedrigeren Versionen läuft das Skript nicht.