| |||||||
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: Aug 2003
Beiträge: 39
| dynamische Schaltfächen in onLoad Block???
Hallo, ich habe Daten in einem onLoad-Block aus einer XML-Datei ausgelesen. Jetzt möchte ich ein Hintergrundbild, hinter die Daten legen und dieses als Button benutzen. Das spreche ich über _root["back"+i].onRelease = function() an. Leider funktioniert das nicht. :-( Ich denke es liegt daran, weil es innerhalb des onLoad-Blocks liegt. Außerhalb dessen hat es testweise funktioniert, nur existieren dort die Objekte, die ich innerhalb der for-Schleife definiert habe -> "back"+i <- nicht mehr. Was kann ich machen? ActionScript:
Noch eine generelle Frage in diesem Zusammenhang: Wo ist der Unterschied zwischen diesen beiden Befehlen: ActionScript:
Danke für eure Hilfe! ;-) Gruß novePulse |
| | |
| | #2 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.322
|
"..Wo ist der Unterschied zwischen diesen beiden Befehlen.." eval("back"+i). <-- geht nicht _root["back"+i]. <-- geht und steht auch so im handbuch :-/ das eval nicht als zuweissung benützt werden kann (war mal so bis flash5?). rechts vom gleichheitszeichen, als funktion, kann'st du eval einsetzen. ActionScript:
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de Geändert von hgseib (16-05-2005 um 15:54 Uhr) |
| | |
| | #3 (permalink) |
| ................ Registriert seit: Jun 2004
Beiträge: 15.890
|
Hi! Erstmal zu der Frage: In Flash ab Version 5 können mit eval() keine Variablenwerte oder Instanznamen dynamisch gesetzt oder abgerufen werden, da eval() nicht auf der linken Seite einer Gleichung stehen darf. Ersetzen Sie beispielsweise den Code eval ("var" + i) = "first"; durch diesen: this["var"+i] = "first" oder diesen: set ("var" + i, "first"); -------------------- Deswegen geht dein Script wohl auch nicht. Ersetz die eval-Geschichte mal durch _root["back"+i].
__________________ ternärer Konditionaloperator +++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++ |
| | |
| | #4 (permalink) |
| Neuer User Registriert seit: Aug 2003
Beiträge: 39
|
danke für die Erklärung wenn ich eval("back"+i). wie unten ersetze wird das Objekt "back" gar nicht mehr dargestellt. Vorher ging es aber. Mein eigentliches Problem ist aber, dass die Funktion onRelease nicht funktionert. Verträgt sich das mit onLoad nicht? ActionScript:
|
| | |
| | #6 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.322
|
wozu machen wir uns denn die arbeit dir etwas zu zeigen? var mc = duplicateMovieClip(back, "back"+i, i+1); var mc = erspahrt flash jedesmal die adresse ermitteln zu müssen und "wir" wissen ja nicht, ob das was du da duplizierst tatsächlich auf _root liegt (wird hierdurch auch umgangen). level i+1 mit level == 0 dürftest du das original abgeschossen haben.
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |