Toon posts:

[Actionscript] XML Inladen

Pagina: 1
Acties:

Verwijderd

Topicstarter
In totaal haal heb ik 18 objecten in mijn databse staan. De eerste 18 daarvan staan in slaapkamer.xml en de eerste 3 daarvan staan in badkamer.xml.

Wanneer ik op een button klik geef ik de variable "ruimte" mee stuur hem naar een frame met de volgende code:
code:
1
2
3
4
5
if (ruimte == "slaapkamer"){
    vto_load = "slaapkamer.xml";
} else if (ruimte == "badkamer"){
    vto_load = "slaapkamer.xml";
}


Vervolgens gebeurt er:
code:
1
2
3
4
5
6
7
8
9
10
_root.vnum = _root.xml.ikea.itempjes.length;
for (i=0; i<_root.vnum; i++) {
    _root["blaat_"+i] = new Array();
    _root["blaat_"+i][0] = _root.xml.ikea.itempjes[i].item[0].link;
    _root["blaat_"+i][1] = _root.xml.ikea.itempjes[i].item[1].naam;
    _root["blaat_"+i][2] = _root.xml.ikea.itempjes[i].item[2].ruimte;
    _root["blaat_"+i][3] = _root.xml.ikea.itempjes[i].item[3].meubel;
    _root["blaat_"+i][4] = _root.xml.ikea.itempjes[i].item[4].stijl;
    _root["blaat_"+i][5] = _root.xml.ikea.itempjes[i].item[5].prijs;
}


En daarna:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
a = 0;
for (x=0; x<_root.vnum; x++) {
    duplicateMovieClip("mcItems", "mcItems"+x, x);
    if (x<6) {
        _root["mcItems"+x]._x = _root.mcItems._x+115*a;
    }
    if ((x>5) && (x<12)) {
        _root["mcItems"+x]._x = _root.mcItems._x+115*a;
        _root["mcItems"+x]._y = _root.mcItems._y+95;
    }
    if ((x>11) && (x<18)) {
        _root["mcItems"+x]._x = _root.mcItems._x+115*a;
        _root["mcItems"+x]._y = _root.mcItems._y+190;
    }
    _root["mcItems"+x].link = _root["blaat_"+x][0];
    _root["mcItems"+x].naam = _root["blaat_"+x][1];
    _root["mcItems"+x].ruimte = _root["blaat_"+x][2];
    _root["mcItems"+x].meubel = _root["blaat_"+x][3];
    _root["mcItems"+x].stijl = _root["blaat_"+x][4];
    _root["mcItems"+x].prijs = _root["blaat_"+x][5];
    a++;
    if (a>5) { a = 0; }
}


Het geheel kan je bekijken op:
http://www.gahuilen.nl/stephan/ikea/

Klik eerst op het slaapkamer tabje. Alles wordt netjes ingeladen. Klik vervolgens op het tabje badkamer. Je ziet dan de eerste 3 objecten veranderen..

Doe nu een refresh van de pagina en klik eerst op het tabje badkamer. Nu worden er maar 3 objecten ingeladen. Het probleem is dus dat als ik eerst op slaapkamer druk en daarna op badkamer de eerste 3 objecten wel worden overschreven maar de rest blijft dus gewoon ingeladen...

Hoe nu te zorgen dat een ingeladen .xml eerst wordt geunload voordat een nieuwe .xml betand wordt ingeladen ?

[ Voor 31% gewijzigd door Verwijderd op 03-12-2004 20:14 ]


  • Annie
  • Registratie: Juni 1999
  • Laatst online: 25-11-2021

Annie

amateur megalomaan

Verwijderd schreef op vrijdag 03 december 2004 @ 19:05:
Hoe nu te zorgen dat een ingeladen .xml eerst wordt geunload voordat een nieuwe .xml betand wordt ingeladen ?
Eerst al je eerder toegevoegde mc's verwijderen voor je de nieuwe xml inleest?
Dus iets als (effe uit de losse pols):
code:
1
2
3
4
for (x=0; x<_root.vnum; x++)
{
  _root["mcItems"+x].removeMovieClip();
}

Today's subliminal thought is:


Verwijderd

Topicstarter
[code]
a = 0;
for (x=0; x<_root.vnum; x++) {
_root["mcItems"+x].removeMovieClip();
}

for (x=0; x<_root.vnum; x++) {
duplicateMovieClip("mcItems", "mcItems"+x, x);
if (x<6) {
_root["mcItems"+x]._x = _root.mcItems._x+115*a;
}
if ((x>5) && (x<12)) {
_root["mcItems"+x]._x = _root.mcItems._x+115*a;
_root["mcItems"+x]._y = _root.mcItems._y+95;
}
if ((x>11) && (x<18)) {
_root["mcItems"+x]._x = _root.mcItems._x+115*a;
_root["mcItems"+x]._y = _root.mcItems._y+190;
}
_root["mcItems"+x].link = _root["blaat_"+x][0];
_root["mcItems"+x].naam = _root["blaat_"+x][1];
_root["mcItems"+x].ruimte = _root["blaat_"+x][2];
_root["mcItems"+x].meubel = _root["blaat_"+x][3];
_root["mcItems"+x].stijl = _root["blaat_"+x][4];
_root["mcItems"+x].prijs = _root["blaat_"+x][5];
a++;
if (a>5) { a = 0; }
}
[code]

Nog steeds hetzelfde probleem :(

Verwijderd

Topicstarter
Opgelost!

Als ik dat stukje code van Annie zet voordat ik de xml inlaadt werkt het perfect!

THanx annie!