2009-03-21 9 views
0

Ich erstelle eine Flash-App, die eine XML-Datei aus einer bestimmten Quelle liest. Die XML-Datei enthält maximal 5 Knoten, die jeweils einen Namen, eine Beschreibung und eine Bild-URL enthalten.Zugriff auf ein Textfeld/Movieclip in einem dynamischen Clip, der in einer for-Schleife erstellt wurde?

Um Daten in jedem Knoten darzustellen, habe ich einen Movieclip erstellt, der einen anderen Movieclip enthält (um Bild von URL zu laden), ein kurzes dynamisches Textfeld (für Name) und ein langes dynamisches Textfeld (zur Beschreibung).

In-Code kann ich sie nur Zugriff durch -

new_mc.myname.text = "some text"; new_mc.image_mc.loadMovie ("path_to_image");

Das ist in Ordnung, solange ich duplicateMovie() und den Instanznamen „new_mc“ verwenden

mein Problem mit der Schleife beginnt ...

Da ich die XML-Knoten in for-Schleife lesen Ich dachte, ich würde einfach den Movieclip dynamisch erstellen und auf alle darin enthaltenen Objekte zugreifen.

Also, in der for-Schleife habe ich eine Instanz wie -

myform.duplicateMovie("new_mc"+i,i) 

, aber ich kann den Film nicht mit Instanznamen erstellt zugreifen = "new_mc" + i

, wie ich das neu zugreifen erstellte Movieclip-Instanz wie new_mc0, new_mc1, new_mc3, ...

, damit ich auf Objekte darin zugreifen kann?

Mai ist die Lösung einfach genug für Sie ist, da Sie experiance genug haben, aber ich bin ein Neuling hier um Hilfe bitten :)

guter Tag für alle!

Antwort

0

habe ich so gut wie nie die duplicateMovie() -Methode in AS2 verwenden, aber wenn das ist Ihre Wahl können Sie sie wie folgt zugreifen:

this["new_mc"+i]; 

sonst eine gute Praxis ist immer Ihre Instanzen zu verweisen bessere Kontrolle haben über es:

var forms:Array = new Array(); 

for(...) 
    forms[i] = myform.duplicateMovie("new_mc"+i,i); 

... 

forms[2].myname.text = "hello"; 
  • Der erste, was ich Sie raten würde mit AS3, aber es kann ein Grund, warum Sie noch AS2 benutzen ...
  • Secon d Sache, in AS2 Instanzen zu erstellen, ist es irgendwie glatter, MovieClips in der Bibliothek zu definieren, und verwenden Sie die attachMovie(); Methode zum Erstellen von Instanzen.
Verwandte Themen