Avatar billede kodak Mester
18. september 2011 - 18:15 Der er 4 kommentarer og
1 løsning

Flash AS3 load billede via XML

Jeg har følgendene Action, som loader xml filen og henter X & Y kordinater til de billeder der skal loades:

myXML = new XML();
myXML.ignoreWhite = true;
myXML.load('projekt/project.xml');

var map:Array = new Array();

myXML.onLoad = function() {
icon_dir = "icon/"; // her er billederne der skal loades placeret //
bg_dir = "skov/images/"; // her er baggrundene placeret //
path = "/icwproject/scenes/scene/sceneelements/resourcebinaryelement";
path1 = "/sceneelements/resourcebinaryelement";
aNode = mx.xpath.XPathAPI.selectNodeList(this.firstChild, path);
len = aNode.length;
for (var i=0; i<len; i++) {
obj = {}
obj.xpos = aNode[i].attributes.x;
obj.ypos = aNode[i].attributes.y;
obj.name_txt = aNode[i].attributes.name;
obj.type_txt = aNode[i].attributes.type;
map.push(obj);   
dups(i);
}
};

function dups(i){
duplicateMovieClip(_root.button, "knop"+i, i+1000);

ref = _root["knop"+i];
ref._x = map[i].xpos;
ref._y = map[i].ypos;
  trace(map[i].xpos);
  trace(map[i].xpos);
  trace(map[i].name_txt);
  trace(map[i].type_txt);
};

i xml stien: path = "/icwproject/scenes/scene/sceneelements/resourcebinaryelement/imageref";
"attributes.id" er der et navn eksempelvis "pendant"
hvor efter den i xml stien:
path = "/icwproject/images/image";
skal den kunne finde:
<image active="pendant_active.png" id="pendant" inactive="pendant_inactive.png" noresource="pendant_noresource.png" preview="pendant_preview.png"/>"
hvor "attributes.id" også er pendant her fra skal den bruge billedet "attributes.active" og vise det.

Lige nu viser scriptet kun en kopi af en knap på placeringerne.

Nogen der kan hjælpe med dette?
Avatar billede arne_v Ekspert
18. september 2011 - 21:15 #1
Er det:

path = "/icwproject/images/image[@id='pendant']";

du leder efter?
Avatar billede kodak Mester
18. september 2011 - 22:48 #2
Ja det virker til at være noget af det.
Men kan ikke finde et script der loader billederne ind.

1. læs hvilken id
2. find tilsvarende id (det er vist nok den du har)
3. loade billede ind i stedet for "duplicateMovieClip(_root.button, "knop"+i, i+1000);"
Avatar billede kodak Mester
18. september 2011 - 22:53 #3
det er jo ikke lige som i php
at man bare kan sige "
if ($row[id] == $id) {
    echo'<img heaf="' . $active . '">
}

Som jo næsten er det jeg spørger efter.
Avatar billede arne_v Ekspert
18. september 2011 - 22:55 #4
Jeg er XPath kyndig - men jeg er ikke AS kyndig.

:-(
Avatar billede kodak Mester
25. oktober 2011 - 19:57 #5
Lukker men takker for forsøget.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester