Hier eine Methode, wie man Name und Pfad an die Variable übergeben könnte.
Auf der Schaltfläche der click-Filmsequenz wird der Variablen namens moviename im Hauptfilm der Text "_root." gefolgt von dem Namen der angeklickten Filmsequenz zugewiesen. "_root."+_name So erhält man den Pfad und Filmsequenznamen als String.
eval verwandelt String Ausdrücke in Variablen. Der Go-Button wandelt mittels eval den String aus dieser Variablen moviename um in einen Ausdruck. So kann die Filmsequenz mit with angesteuert werden. Ohne eval wäre das so nicht möglich.
Näheres zu with siehe pfade.swf
Näheres zu eval siehe variable.swf
Mit _target wird der Zielpfad ermittelt.
Das war auch schon mit Flash 4 möglich.
Im Hauptfilm liegt die Filmsequenz mit Instanznamen mov1.
In ihr wurde die Filmsequenz mit Instanznamen mov2 eingebettet, welche obenstehendes Actionscript hat. Dadurch wird der Zielpfad ermittelt.
/:target2 = _target;
Dem ersten Textfeld wurde in den Textoptionen die Option Texteingabe und der Name /:texteingabe zugewiesen.
Die anderen beiden Textfelder wurden auf die Option dynamisch gesetzt und haben die Namen /:code und /:buchstabe bekommen.
Im ersten Schlüsselbild des Hauptfilms steht obenstehendes Action Script. Dadurch wird der Wert des Texteingabefeldes /:texteingabe in der Variablen /:code in ASCCI Code angezeigt und zwar durch das Skript ord(). Im Textfeld /:buchstabe wird durch das Skript chr() der Buchstabe eines eingegebenen ASCCI Codes übertragen.
Bleibt noch zu erwähnen, daß der Film nicht stoppt , sondern zwischen 2 Frames hin und her läuft, denn sonst würden die Textfelder nicht aktualisiert.
Durch eine if-Abfrage des Leerzeichens ließe sich so ein Wortende ermitteln.
Nochwas in Sachen Windows Grundwissen: Will man einen Buchstaben per Ascci Code eintragen, hält man die Alt Taste gedrückt, während man die Zahl eingibt.
Hier geht es um eq
eq steht für equal also gleich.
Damit werden Zeichenfolgen abgefragt. Durch die if Abfragen, wird nach Eingabe des richtigen Wortes mittels setProperty der Filmsequenz mit Instanznamen kreis eine Eigenschaft zugewiesen.
Hiermit ließe sich beispielsweise eine Passwortabfrage erstellen oder auch ein Lernspiel für Kinder, wo durch Eingabe eines richtigen Wortes eine bestimmte Aktion abläuft.
eq gilt ab Flash 5 als veraltet und sollte durch == ersetzt werden.
if (/:write eq "transparent") {
setProperty ("/kreis", _alpha, 10);
}
if (/:write eq "undurchsichtig") {
setProperty ("/kreis", _alpha, 100);
}
if (/:write eq "breit") {
setProperty ("/kreis", _xscale, 300);
}
if (/:write eq "klein") {
setProperty ("/kreis", _xscale, 100);
}
In einer Schleife (enter Frame) wird abgefragt, ob eine Eingabe gemacht wurde oder nicht.
(_root.eingabe =="")||(_root.eingabe ==null)
Es ist die gleiche Schreibweise wie in Javascirpt und zwar, wird die Variable oder das Textfeld namens eingabe auf String "" oder Ausdruck null überprüft.
Ist weder String noch Ausdruck vorhanden, wird die Filmsequenz namens anzeige auf sichtbar gesetzt, andernfalls auf unsichtbar.
this._visible=false;
onClipEvent (enterFrame) {
if ((_root.eingabe =="")||(_root.eingabe ==null)) {
this._visible=true;
} else {
this._visible=false;
}
}
Mittels indexOf kann man sich aus einer Zeichenfolge die Position einer Teilzeichenfolge ausgeben lassen. Der zurückgegebene Wert ist die Position des ersten Buchstabens. Mittels einer if else Abfrage ließe sich so ein Text nach einem bestimmten Wort durchsuchen. Optional ließe sich noch ein Zahlenwert eingeben(eckige Klammern), ab dem die Zeichenfolge durchsucht wird, das heißt bei 0 wäre es ab dem ersten Buchstaben. Damit ließe sich dann der Text auch nach weiteren, gleichen Wörtern durchsuchen.
Mittels lowerCase werden alle Großbuchstaben in Kleinbuchstaben umgewandelt.
var1 = eingabe.toLowerCase();