Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 22-05-2007, 18:55   #1 (permalink)
Neuer User
 
Registriert seit: May 2007
Beiträge: 7
createEmptyMovieClip+ Property´s von array

Hallo zusammen,

irgendwie komme ich hier nicht weiter .....
ich lade ein XML Dokument und will mir die Childnodes
und deren attribute wie label, posX, posY ziehen...
dass klappt ja alles nun mein Problem beim createEmptyMovieClip

scheinbar ist hier mein Syntax nicht korrekt.
es wird immer nur ein 1 mc angezeigt eg: hier mclabel[0] (mc1)

/////////////////////////////////////////////////////////////////////
// Main Structure
this.createEmptyMovieClip("paneMC", 2);
/////////////////////////////////////////////////////////////////////
// set Vars
var txttext = stageXML.firstChild.childNodes[2].firstChild;
for (s=0; s<stageXML.firstChild.firstChild.childNodes.length ; s++) {
//mc label
mclabel = new Array();
mclabel.push(stageXML.firstChild.firstChild.childN odes[s].attributes.mclabel);
trace(mclabel);
// mcpath
mcpath = new Array();
mcpath.push(stageXML.firstChild.firstChild.childNo des[s].attributes.mcpath);
trace(mcpath);
//mc posX
mcposX = new Array();
mcposX.push(stageXML.firstChild.firstChild.childNo des[s].attributes.posx);
trace(mcposX);
// mc posY
mcposY = new Array();
mcposY.push(stageXML.firstChild.firstChild.childNo des[s].attributes.posy);
trace(mcposY);
//////////////////////////////////////////////////////////////
// Create MC´s
trace(s);
this.paneMC.createEmptyMovieClip(mclabel[s], s);
this.paneMC.mclabel[s]._x = mcposX[s];
this.paneMC.mclabel[s]._y = mcposY[s];
myLoader.load(this.paneMC[mclabel[s]], mcpath[s]);
}

wenn ich die array inhalte einzeln anspreche geht es , aber das war nicht
mein wunsch ...
währe toll wenn einer helfen könnte

thx

n0tiert
n0tiert ist offline   Mit Zitat antworten
Alt 22-05-2007, 19:02   #2 (permalink)
ur leiwand oida
 
Benutzerbild von l_ch
 
Registriert seit: Sep 2001
Ort: plagwitz/jumeirah lake towers
Beiträge: 1.660
das script verhält sich korrekt, es sieht keine notwendigkeit, mehr als einen mc zu erzeugen:

PHP-Code:
for (s=0s<stageXML.firstChild.firstChild.childNodes.length s++) {
//mc label
mclabel = new Array();
mclabel.push(stageXML.firstChild.firstChild.childN odes[s].attributes.mclabel); 
du weißt sicher, daß du da jedes mal ein neues array erzeugst? bestenfalls steht also in jedem deiner arrays genau ein wert. das ist nicht viel, wenn man mehrere movieclips daraus erzeugen möchte.
__________________
and now for some reklame
________________
günstige kontaktlinsen
l_ch ist offline   Mit Zitat antworten
Alt 22-05-2007, 19:06   #3 (permalink)
Neuer User
 
Registriert seit: May 2007
Beiträge: 7
erstmal danke für die prompte antwort !!


wie koennte ich das dann gestalten ?

das xml ist so:

<mcproperties>
<clip mclabel="mc1" width="100" heigth="100" depth="1" posx="10" posy="30" mcpath="guymc.swf" />
<clip mclabel="mc2" width="100" heigth="100" depth="2" posx="80" posy="500" mcpath="amazon.swf" />
</mcproperties>

jetzt soll er für jedes attribute einen array erzeugen, den ich dann beim create uebergeben moechte...

bei den trace sind ja beide attribute vorhanden ...

?!

gruss

n0tiert
n0tiert ist offline   Mit Zitat antworten
Alt 22-05-2007, 19:30   #4 (permalink)
ur leiwand oida
 
Benutzerbild von l_ch
 
Registriert seit: Sep 2001
Ort: plagwitz/jumeirah lake towers
Beiträge: 1.660
zweikommafünf möglichkeiten:

1) du speicherst den ganzen kram in verschiedenen arrays, die du hinterher (=nach dem xml-parsen) durchläufst, und daraus movieclips erzeugst.
2) du erzeugst die mcs während des parsens, und sparst dir den ganzen arrayquatsch. kommt drauf an, ob du irgendwas aus dem xml später noch mal brauchst

2,5) du erzeugst bei jedem durchlauf ein objekt und legst das in einem array ab, durchläufst das nach dem parsen und greifst auf die properties des objektes zu (wie bei 1., bloß daß du dann nur noch ein array brauchst)

bei 1) und 2,5) solltest du dir aber überlegen, wo genau du die arrays instaziierst. so wie du es jetzt hast, wird es definitiv nicht funktionieren.

methode 2 ist natürlich schneller fertig. du kannst auch verschiedene methoden kombinieren.

hilfreich: das richtige zu tracen. daß die attribute funktionieren, weißt du ja jetzt, und daß dein counter hochgezählt wird, auch. nur die arrays, für die interessierst du dich gar nicht. und dabei gehts dir doch genau um die.
__________________
and now for some reklame
________________
günstige kontaktlinsen
l_ch ist offline   Mit Zitat antworten
Alt 22-05-2007, 19:33   #5 (permalink)
Neuer User
 
Registriert seit: May 2007
Beiträge: 7
kannst du mir einen code ansatz geben ?
bin echt ueberfragt was die array sache betrifft,
ich durchlaufe ja die childnodes janz oben
for (s=0; s<stageXML.firstChild.firstChild.childNodes.length ; s++) {
und will dann den create starten....

gruss
n0tiert
n0tiert ist offline   Mit Zitat antworten
Alt 22-05-2007, 19:37   #6 (permalink)
ur leiwand oida
 
Benutzerbild von l_ch
 
Registriert seit: Sep 2001
Ort: plagwitz/jumeirah lake towers
Beiträge: 1.660
PHP-Code:
tempMc=this.paneMC.createEmptyMovieClip(stageXML.firstChild.firstChild.childNodes[s].attributes.mclabels);
tempMc._x =Number(stageXML.firstChild.firstChild.childNodes[s].attributes.posx);
tempMc._y Number(stageXML.firstChild.firstChild.childNodes[s].attributes.posy); 
__________________
and now for some reklame
________________
günstige kontaktlinsen

Geändert von l_ch (22-05-2007 um 19:38 Uhr)
l_ch ist offline   Mit Zitat antworten
Alt 23-05-2007, 18:33   #7 (permalink)
Neuer User
 
Registriert seit: May 2007
Beiträge: 7
Thumbs up

Hi,

Vielen Dank für die hilfe !
oh mann irgendwie bin ich darauf nicht gekommen !!!


jetzt loeppt dat dingen !!!
der trace ....

/////////////////////////////////////////////////////////
mc1
guymc.swf
10
30
0
enqueue true,_level0.paneMC.mc1,guymc.swf
LoaderItemClass _level0.paneMC.mc1,guymc.swf,true,,2,
_load _level0.paneMC.mc1
mc2
amazon.swf
80
500
1
enqueue true,_level0.paneMC.mc2,amazon.swf
LoaderItemClass _level0.paneMC.mc2,amazon.swf,true,,3,
START THIS ****
_load _level0.paneMC.mc2


Perfekt !!!!


gruss

n0tiert
n0tiert 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 01:45 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele