| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer User Registriert seit: Jun 2003 Ort: Stuttgart
Beiträge: 101
| if-Abfrage für 5 verschiedene Fälle
Hallo zusammen, ich muss den Rückgabe-Wert eines Logins abfragen, der durch PHP übergeben wird. Dabei muss ich zwischen 5 verschiedenen Fällen unterscheiden. Je nach Fall soll der Abspielknopf zu einem anderen Frame der Timeline geschickt werden. Ich habe folgendes Script mit "else if" erstellt, es funktioniert aber nicht bei allen empfangenen Werten; es scheint immer nur die ersten beiden Fälle auszuwerten. An anderer Stelle im Forum und in der Flash-Hilfe laß ich, dass mehrere "else if" Schritte vermieden werden sollen und dafür "switch case" verwendet werden soll. Alle Beispiele hierfür demonstrieren aber nur die Fälle für die Eingebe einer bestimmten Taste, was mir hier nicht weiter hilft. Kann mir jemand helfen? Code: _root.login_btn.onRelease = function () {
c = random(2000000);
loadVariablesNum ("login-abfragen.php?cache="+c, 0, "POST");
// Benutzer deutsch - 1. Besuch
if (sprache == 0 && aktivJN == 0) {
gotoAndPlay("seite01click");
}
// Benutzer deutsch - 2. Besuch
else if (sprache == 0 && aktivJN == 1) {
gotoAndStop("login2");
}
// Benutzer englisch - 1. Besuch
else if (sprache == 1 && aktivJN == 0) {
gotoAndPlay("seite01click");
}
// Benutzer englisch - 2. Besuch
else if (sprache == 1 && aktivJN == 1) {
gotoAndStop("login2eng");
}
// wenn eingegebener Code falsch ist
else if (logindaten == "Fehler") {
gotoAndStop("fehler01");
}
} |
| | |
| | #2 (permalink) |
| voidboy Registriert seit: Sep 2004 Ort: München
Beiträge: 5.588
|
Aber du musst warten bis die Variablen geladen wurden, weil diese ja nicht sofort da sind (zu diesem Thema Suche nutzen). Mit switch würde es so aussehen, wenn ich dein Script richtig interpretiert habe: PHP-Code: Geändert von rendner[i] (26-11-2005 um 10:43 Uhr) |
| | |
| | #3 (permalink) | |
| Neuer User Registriert seit: Jun 2003 Ort: Stuttgart
Beiträge: 101
| Zitat:
Dann mach ich mich mal auf die Suche nach Lösungen. Danke auch für die "switch" Variante! Diese Art des Scriptaufbaus habe ich bis jetzt noch nicht gefunden. | |
| | |
| | #4 (permalink) |
| brand new user Registriert seit: May 2002 Ort: Laimbach 6 1/2
Beiträge: 16.884
|
Mal nach "LoadVars" suchen, damit ist des laden von Variablen sicherer
__________________ Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake! "Wer tanzen will, muß erst gehen lernen" |
| | |
| | #5 (permalink) |
| Neuer User Registriert seit: Jun 2003 Ort: Stuttgart
Beiträge: 101
|
Danke für den Heinweis. Tja, ich habe noch ein Problem mit einer "if" Abfrage. Ich habe versucht, es wie in obigem Tipp nun auch mit einer "switch"-Anweisung zu lösen, aber ich komme partout nicht darauf, wie ich es richtig strukturieren muss. Die Problemstellung ist folgende: ich habe 9 Movie-Clips, in denen jeweils Objekte von der Bühnen-Unterkante in die Mitte der Bühne bewegt werden. Nun muss ich vor jedem Bewegen eines Objektes in die Mitte abfragen, ob dort schon ein anderes Objekt ist, dass dann gleichzeitig nach unten bewegt werden soll. In dem unten geposteten Script funktionikert die if-Abfrage aber immer nur bei den ersten beiden Clips, bei allen anderen dann nicht mehr. Ich arbeite an dem Problem nun seit Tagen und finde keine Lösung. Code: _root.FotoAnim01_mc.onRelease = function() {
// schickt sich selbst zur Gross-Foto Position in die Mitte
_root.FotoAnim01_mc.gotoAndPlay(26);
// Abfrage, ob ein anderer Clip bereits auf Ziel-Frame
// schickt diesen Clip dann nach unten
if (_root.FotoAnim02_mc._currentframe==50 || 100) {
_root.FotoAnim02_mc.gotoAndPlay(51);
}
else if (_root.FotoAnim03_mc._currentframe==50 || 100) {
_root.FotoAnim03_mc.gotoAndPlay(51);
}
else if (_root.FotoAnim04_mc._currentframe==50 || 100) {
_root.FotoAnim04_mc.gotoAndPlay(51);
}
else if (_root.FotoAnim05_mc._currentframe==50 || 100) {
_root.FotoAnim05_mc.gotoAndPlay(51);
}
else if (_root.FotoAnim06_mc._currentframe==50 || 100) {
_root.FotoAnim06_mc.gotoAndPlay(51);
}
else if (_root.FotoAnim07_mc._currentframe==50 || 100) {
_root.FotoAnim07_mc.gotoAndPlay(51);
}
else if (_root.FotoAnim08_mc._currentframe==50 || 100) {
_root.FotoAnim08_mc.gotoAndPlay(51);
}
else if (_root.FotoAnim09_mc._currentframe==50 || 100) {
_root.FotoAnim09_mc.gotoAndPlay(51);
}
}; |
| | |
| | #6 (permalink) |
| voidboy Registriert seit: Sep 2004 Ort: München
Beiträge: 5.588
|
Das ist blödsinn, lege eine Vraiable in der _root an in der du den aktuellen mc speicherst der in die mitte soll, somit hast du sofort den richtigen. Bsp.: ( in _root.mitte speicherst du zB den mc der dann zurück soll ) PHP-Code: Bsp.: PHP-Code: |
| | |
| | #7 (permalink) |
| Neuer User Registriert seit: Jun 2003 Ort: Stuttgart
Beiträge: 101
|
Hallo, danke - habe versucht, die empfohlene Strategie nachzuempfinden. Es hört sich zwar vielversprechend an, hier mit Variablen zu arbeiten - aber mein Wissen darüber ist zu dünn, um die ganze Sache fehlerfrei zu programmieren (auch, wenn ich diverse Variablen-Beispiele angeschaut habe, in denen Objekte bewegt werden - das selbst zu programmieren ist eine andere Sache). Ich schaffe es gerade, mit Variablen Text in entsprechende Textfelder zu verteilen - alles weitere ist dann aber to much. Die von mir versuchte "if else"-Geschichte ist für einen Nichtprogrammier (also Designer) noch irgendwie mit gesundem Menschenverstand konstruierbar, aber bei der "for"-Lösung muss ich dann leider die Waffen strecken. Geht es denn nicht irgendwie mit "if"-Abfrage oder "switch", was auch noch einigermaßen einleuchtend ist? |
| | |
| | #8 (permalink) |
| brand new user Registriert seit: May 2002 Ort: Laimbach 6 1/2
Beiträge: 16.884
|
Ist doch garnicht so schwer! Die for-geschichte... var i=1; Hier legst Du eine Variable an und übergibst ihr gleich den wert "1"; i<9; Solange i kleiner als "9" ist; i++; Zähle die Variable i um eins höher (i++) ist nichts anderes wie i+1; Wenn die Variable i == 9 ()heißt i ist gleich 9) ist stop die for-schleife; "_root.gotoAndPlay(51);" beim ersten klick auf ein Button noch unwirksam, weil der Variable "mitte" noch kein wert mitgeteilt wurde(respt, erst eine Zeile später vergeben wird)! "_root.mitte = this;" jetzt wird der Variable "_root.mitte", ("_root" =die Haupttimeline) der wert "this" übergeben ("this" ist der Button selbst): Jetzt hat die Variable einen Wert (der Button selbst) deswegen geht jetzt "_root.mitte.gotoAndPlay(26); was nichts anderes heist wie (this.gotoAndPlay(26) wast Du auch verwenden könntest;Ich hoffe des hilft Dir ein wenig weiter!!
__________________ Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake! "Wer tanzen will, muß erst gehen lernen" |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |