Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 29-03-2004, 13:16   #1 (permalink)
Fear & Loathing
 
Benutzerbild von Dr. Gonzo
 
Registriert seit: Oct 2003
Beiträge: 115
verschachtelter mc-array in for auslesen

hi,

lade mir über eine xml bilder in einen MC.
diese bilder sollen letztendlich als buttons in einer scrollpane dargestellt werden.

dazu erstelle ich mir 2 MC's in einem container mc
- einen für onRelease funktion
- einen für das bild

jetzt möchte ich in einer For-Schleife alle Bilder die in der xml stehen auslesen und als buttons in die scrollpane laden.

hier mal mein versuch:
ActionScript:
  1. var mcAS = new Array();
  2.                 var mcPic = new Array();
  3.                 var bild = new Array();
  4.                
  5.                 //auslesen aller Bilder der XML
  6.                 for(i=0; i <= mein_xml.firstChild.firstChild.childNodes.length - 1; i++)
  7.                 {
  8.                     //MovieClip für onRelease erzeugen
  9.                     mcAS[i]=scrollbilder.createEmptyMovieClip("mcAS"+i,1);
  10.                     //scrollbilder ist der Container MC (liegt auf der Bühne)
  11.                    
  12.                    
  13.                     //onRelease für einzelne bilder
  14.                     mcAS[i].onRelease=function(){
  15.                     trace("test");
  16.                     }
  17.                     //MovieClip für Bild erzeugen
  18.                     mcPic[i]=mcAS[i].createEmptyMovieClip("mcPic"+i,1);
  19.  
  20.                     //Bild-Pfad aus XML holen
  21.                     bild[i] = mein_xml.childNodes[0].childNodes[0].childNodes[i].attributes.bild;
  22.                    
  23.                     //Bild in mc laden
  24.                     mcPic[i].loadMovie(bild[i]);
  25.            
  26.                     //Bild positionieren
  27.                     var versetzt = 80;
  28.                     mcPic[i]._x=-110 + (versetzt * i);
  29.                     mcPic[i]._y=-50 ;
  30.                    
  31.                     //zum testen:
  32.                     trace(mein_xml.firstChild.firstChild.childNodes.length);
  33.                     trace(mcAS[i]);
  34.                     trace(mcPic[i]);
  35.                 }
  36.             //MC mit Bilder in Scrollpane Laden
  37.             scrollpane.setScrollContent(scrollbilder);

muss da irgendwo einn denkfehler in der for-schleife haben.
bekomme immer nur einn bild angezeigt und zwar das letzte !
hock da glaub schon zu lange davor...ich seh's einfach nicht!

ist es überhaupt möglich mir in einen Array mehrere MC's zu legen???

greetz
Dr. Gonzo ist offline   Mit Zitat antworten
Alt 29-03-2004, 13:56   #2 (permalink)
Fear & Loathing
 
Benutzerbild von Dr. Gonzo
 
Registriert seit: Oct 2003
Beiträge: 115
anhang ...

...

kann es sein das ich mir hiermit jedesmal "scrollbilder" überschreibe?
ActionScript:
  1. mcAS[i]=scrollbilder.createEmptyMovieClip("mcAS"+i,1);

- hängt createEmptyMovieClip jedes mal einen neuen clip an oder überschreibt den alten ???
- kann mir hier attachMovie irgendwie weiter helfen ???
(hab attach movie noch nicht richtig geblickt)
ActionScript:
  1. mcAS[i]=scrollbilder.attachMovie(i, "mcAS"+i, 1);
^läuft mal überhaupt nicht

weiss auch nicht ob mir attachMovie jedes mal einen mc in mein container neu reinlegt...oder ihn direkt an den container anhängt !?
Dr. Gonzo ist offline   Mit Zitat antworten
Alt 29-03-2004, 13:57   #3 (permalink)
The Man Who Wasn't There
 
Benutzerbild von fraggle two
 
Registriert seit: Jul 2003
Ort: BÄRLIN
Beiträge: 1.156
hi,

hab zwar nicht so viel erfahrung mit xml aber ist es korrekt das du zweimal firstChild ansprichst in deiner for schleife?

gruß
mike
__________________
Dot-Realities
Mike Broders
Berlin

ICQ:105925103

Dot-Realities v4.0 under construction!
fraggle two ist offline   Mit Zitat antworten
Alt 29-03-2004, 14:12   #4 (permalink)
muh
 
Benutzerbild von Janoscharlipp
 
Registriert seit: Apr 2002
Ort: Freiburg / Stuttgart
Beiträge: 4.338
ich tippemal darauf, dass deine Bilder alle übereinander sind, da die Positionierung nicht funktionert, da sie durchgeführt wird, obwohl die Bilder noch nicht geladen sind.
Probier das mit der Positionierung mal in einem onLoad.
Janoscharlipp ist offline   Mit Zitat antworten
Alt 29-03-2004, 14:20   #5 (permalink)
Fear & Loathing
 
Benutzerbild von Dr. Gonzo
 
Registriert seit: Oct 2003
Beiträge: 115
ohja,..das könnte sein...
danke für den tipp...

aber dürfte das bei der positionierung nincht egal sein ?
ich positioniere ja nicht das bild, sondern den mc. der mc is positioniert egal wann das bild geladen ist. er zeigt mit auch das letzte Bild (das einzigste das er anzeigt) genau an der stelle wo das letzte Bild sein müsste...
...mhh ich probiers einfach aus.


also müsste er mir normalerweiße mit createEmptyMovieClip schon jedes mal einnen neuen erzeugen und nicht den alten überschreiben ?

Geändert von Dr. Gonzo (29-03-2004 um 14:25 Uhr)
Dr. Gonzo ist offline   Mit Zitat antworten
Alt 29-03-2004, 14:28   #6 (permalink)
Fear & Loathing
 
Benutzerbild von Dr. Gonzo
 
Registriert seit: Oct 2003
Beiträge: 115
@ fraggle two:

nein, das 2. firstChild ist eigentlich "second"-child...(gibbet ja bei xml aber nicht) ... mit firstChild.firstChild.firstChild. etc. kann man quasi immer eine ebene weiter gehen

greetz
Dr. Gonzo ist offline   Mit Zitat antworten
Alt 29-03-2004, 14:57   #7 (permalink)
Fear & Loathing
 
Benutzerbild von Dr. Gonzo
 
Registriert seit: Oct 2003
Beiträge: 115
woohoo

habs,...das problem war das ich jeden "createEmptyMovieClip" auf der selben ebene erstellt hab.

also nicht
ActionScript:
  1. mcAS[i]=scrollbilder.createEmptyMovieClip("mcAS"+i,1);

sondern
ActionScript:
  1. mcAS[i]=scrollbilder.createEmptyMovieClip("mcAS"+i,1 + (1*i));

und das ding läuft !!!

greetz !
Dr. Gonzo ist offline   Mit Zitat antworten
Alt 29-03-2004, 16:04   #8 (permalink)
Neuer User
 
Benutzerbild von K-Grabowski
 
Registriert seit: Jan 2003
Ort: Arminia!!!! Bielefeld
Beiträge: 1.138
du machst es dir auch kompliziert

1 + (1*i)

ist das selbe wie

1+i

__________________
Wieviel hätte ich also für dieses Fahrzeug zu investieren???
K-Grabowski ist offline   Mit Zitat antworten
Alt 30-03-2004, 09:02   #9 (permalink)
Fear & Loathing
 
Benutzerbild von Dr. Gonzo
 
Registriert seit: Oct 2003
Beiträge: 115
höhö,...hast mal voll recht...

das kommt von dem ganznen programmier-wirrwarr und überhaupt...

da wird man total bekloppt
Dr. Gonzo ist offline   Mit Zitat antworten
Alt 30-03-2004, 09:15   #10 (permalink)
Fear & Loathing
 
Benutzerbild von Dr. Gonzo
 
Registriert seit: Oct 2003
Beiträge: 115
es nimmt keinn ende

kaum is das problem gelöst..steh ich vor dem nächsten RIESEN fragezeichen...

Diesmal macht mir die programmierlogik en bissel sorgen...

hab ja ne schleife die mir alle bilder aus der XML, innen mc steckt und ins scrollpane pfeffert.
jetzt soll jeder mc ja verschiedenen onRelease funktionen haben...bzw bei klick die entsprechenden daten zu diesem bild aus der xml auslesen.
jetzt funktioniert sowas hier (innerhalb der schleife) schonmal nicht:

ActionScript:
  1. //MovieClip für onRelease erzeugen
  2.                     mcAS[i]=scrollbilder.createEmptyMovieClip("mcAS"+i,1 + (1*i));
  3.                     //onRelease für einzelne bilder
  4.                     mcAS[i].onRelease=function(){
  5.                    
  6.                     ausgabe.text = mein_xml.childNodes[0].childNodes[0].childNodes[i].attributes.name;
  7.  
  8.                     }

is ja auch logisch, weil die onRelease ja erst bei klick aufgerufen wird !? und dann die schleife ja schon lange durch is und er natürlich keinnen blassen schimmer mehr hat was "i" ist !?!?

is mein gedankengang soweit richtig ???
was nun ?

könnte mir bei jedem schleifendurchgang direkt alle werte aus der xml holen (also nicht in der onRelease) und diese dann auch gleich in einnen array schreiben,...aber woher weiss ich dann bei klick welche werte zu welchem bild gehöhern ???

oder im onRelease nochmal ne schleife ???

vielleicht hat ja jemand ne idee
Dr. Gonzo ist offline   Mit Zitat antworten
Alt 30-03-2004, 10:30   #11 (permalink)
Fear & Loathing
 
Benutzerbild von Dr. Gonzo
 
Registriert seit: Oct 2003
Beiträge: 115
na also ...

falls mal jemand das selbe problem haben sollte...habs grad hinbekommen...

var i der for-schleife ist in der onRelease natürlich wech !!!
ABER...
mann kann mit "this._name" auf den namen des MC's für die onRelease zugreifen
wenn man sich also in einer schleife mehrere mc's erstellt und diesen alle eine id mit gibt z.B ("meinMC"+i) kann man diesen mc-Namen dann splitten und hat quasi für jeden butto eine ID...wodurch man dann z.B wieder auf die entsprechenden Daten in einer XML zugreifen kann...

das ganze sieht dann so aus:
ActionScript:
  1. //MovieClip für onRelease erzeugen
  2.                     mcAS[i]=scrollbilder.createEmptyMovieClip("mcAS#"+i,1+i);
  3.                    
  4.                     //onRelease für einzelne bilder
  5.                    
  6.                     mcAS[i].onRelease=function(){
  7.                         var str = this._name.split("#")
  8.                         ausgabe.text = mein_xml.childNodes[0].childNodes[0].childNodes[str[1]].attributes.name;
  9.                     }

greetz
Dr. Gonzo ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 14:27 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele