Variable definieren../..mit if() den Wert prüfen

thamoon

Grünschnabel
Hallo,
Ich arbeite jetzt schon sei einiger Zeit mit Flash, konnte mich allerdings vor mehr oder eher weniger schweren ActionScript Befehlen immer drücken..bis jetzt ;)

Ich bin im Moment an einer webseite am werkeln und denke, dass ich mir mit Hilfe der Variablen eine menge Arbeit ersparen könnte. Wenn man sich z.B. auf der Startseite befindet und auf einen anderen Menüpunkt klickt baut sich die Homepage bis auf den Hintergrund und die Navigation ab und es baut sich der nächste Menüpunkt/die nächste Szene auf. Bis jetzt hab ich es so gelöst, dass es in einer szene immer mehrmals die "Sequenz" gibt in der die seite abgebaut wird und immer am Ende ein GotoAndPlay() Befehl steht, nur mit anderen Werten...

...ich dachte mir folgendes:
Innerhalb einer Szene wird durch die Buttons der Navigation einer Variable mit dem Namen der jeweiligen Seite/Szene auf der man sich grade befindet (z.B. $start) jeweils ein anderer Wert zugeteilt und außerdem mit GotoAndPlay() auf die Sequenz der Szene hingewiesen, auf welcher die Seite abgebaut wird. Am Ende dieser steht if() befehl, der dann prüft welchen Wert die Variable hat und dann auf die entsprechende neue Szene verweist.

Meine - leider immer gescheiterten - Versuche sahen folgendermaßen aus:
Code:
if( $start == arbeiten ) usw.

Ich hoffe man konnte meinem Beitrag folgen und würd mich sehr über Hilfe freuen :)

MfG J.-N. Schmidt
 
Hi,

du hast also Variablen in denen die Namen der Szenen sind? Also,

PHP:
var szene1 = "Start";
var szene2 = "Profil";
//usw..

Habe ich das richtig verstanden?

Deine if-Abfrage muss wahrscheinlich so heißen:

PHP:
if( $start == "arbeiten" ) usw.
Oder ist arbeiten eine Variable?

p-flash
 
Von Szenen würd ich die Finger lassen, die kann man nicht dynamisch ansteueren.
Sowas klappt nicht: gotoAndPlay( szenenVariabel, bildNummer );
Das kann man nur mit Bildbezeichnungen machen, also gotoAndPlay("FrameLabel" );,
und noch besser: das dann alles in einer Szene.
Falls dir eine Zeitleiste nicht ausreicht, nimm lieber MovieClips als Szenen, die lassen sich auch Problemlos dynamisch ansprechen a lá this[aktiverMCinVariabel].gotoAndStop(neueStatusVariabel);
 
Ja, Szenen sollten Allgemein nicht benutzt werden, wobei ich nicht wusste, dass man sie nicht dynamisch ansteuern kann. Thanx Chris.

p-flash
 
Ist schon richtig, "arbeiten" soll der Wert sein.

Also, als Beispiel: Button, der zum Profil führt auf der Seite "Start":
Code:
on (release) {
var start = "arbeiten";
gotoAndPlay("start",50);
}

Und am Ende der Abbau-"Sequenz" muss stehen:
Code:
if ( $start == "arbeiten" ) {
gotoAndPlay("arbeiten",1);
} else if ( $start == "profil" ) {
gotoAndPlay("profil",1);
}
usw.

Richtig ?
 
Die Variable start würde ich auf der Zeitleiste deklarieren. Ansonsten ist der Code korrekt, wobei wie Chris schon sagte, du besser ohne Szenen arbeiten solltest.

p-flash
 
Alles Klar, danke für die Hilfe und für den Tipp :)
Ich probiers direkt mal aus und meld mich wieder wenn es nicht klappt :p
 
Wow, ich wollte grade anmerken, dass so etwas:
PHP:
$start
nur in PHP funktionieren wird - aber siehe da: AS 2.0 frisst das ohne Probleme.

Das war mir in der Tat neu, dass Flash das $ in Bezeichnern erlaubt. :eek:
 
Ich weiß ja nicht, aber deine (fast) Anmerkung wäre doch irgendwie gar nicht so falsch gewesen, denn als ich die Befehle ausprobiert hatte, funktionierte es erst nachdem ich "$" vor den Variablen entfernt hatte. Und das obwohl ich mit MX arbeite und es als swf. mit actionscript2.0 exportiert hab...
Jedenfalls klappt jetzt alles.
Danke!
 
Zurück