Flash XML niveauer
HejDet vil være SUPER, hvis nogen kan hjælpe mig videre med dette ønske.
Udgangspunktet er denne tutorial:
http://www.kirupa.com/developer/mx2004/xml_flash_photogallery.htm
Jeg vil gerne ændre den således at der kommer et teksfeltt mere til - og nu kommer problemet: lave xml´en i flere niveauer således at jeg kan conecte til xml´en fra én fla fil og få billedserien (der tæller rigtigt op) fra niveau1. I en anden fla fil kan jeg få billedserien fra niveau2 etc. Jeg vil gerne opnå at samle så meget content som muligt i samme xml fil og stadig have fordel af optællingsfunktionen i denne tutorial. Er det forståeligt?
Jeg gør noget forkert for det virker ikke.
Her er mit AS:
function loadXML(loaded) {
if (loaded) {
xmlNode = this.firstChild;
image = [];
description = [];
testtext = [];
total = xmlNode.childNodes.length;
for (i=0; i<total; i++) {
image[i] = xmlNode.childNodes[i].childNodes[0].childNodes[0].firstChild.nodeValue;
description[i] = xmlNode.childNodes[i].childNodes[0].childNodes[1].firstChild.nodeValue;
testtext[i] = xmlNode.childNodes[i].childNodes[0].childNodes[2].firstChild.nodeValue;
}
firstImage();
} else {
content = "file not loaded!";
}
}
xmlData = new XML();
xmlData.ignoreWhite = true;
xmlData.onLoad = loadXML;
xmlData.load("images2.xml");
/////////////////////////////////////
listen = new Object();
listen.onKeyDown = function() {
if (Key.getCode() == Key.LEFT) {
prevImage();
} else if (Key.getCode() == Key.RIGHT) {
nextImage();
}
};
Key.addListener(listen);
previous_btn.onRelease = function() {
prevImage();
};
next_btn.onRelease = function() {
nextImage();
};
/////////////////////////////////////
p = 0;
this.onEnterFrame = function() {
filesize = picture.getBytesTotal();
loaded = picture.getBytesLoaded();
preloader._visible = true;
if (loaded != filesize) {
preloader.preload_bar._xscale = 100*loaded/filesize;
} else {
preloader._visible = false;
if (picture._alpha<100) {
picture._alpha += 10;
}
}
};
function nextImage() {
if (p<(total-1)) {
p++;
if (loaded == filesize) {
picture._alpha = 0;
picture.loadMovie(image[p], 1);
desc_txt.text = description[p];
til_text.text = testtext[p];
picture_num();
}
}
}
function prevImage() {
if (p>0) {
p--;
picture._alpha = 0;
picture.loadMovie(image[p], 1);
desc_txt.text = description[p];
til_text.text = testtext[p];
picture_num();
}
}
function firstImage() {
if (loaded == filesize) {
picture._alpha = 0;
picture.loadMovie(image[0], 1);
desc_txt.text = description[0];
til_text.text = testtext[0];
picture_num();
}
}
function picture_num() {
current_pos = p+1;
pos_txt.text = current_pos+" / "+total;
}
Og her er XML´en:
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<content>
<niv1>
<emne>
<image>pict1.jpg</image>
<head>os1</head>
<text>Lorem ipsum 1 </text>
</emne>
<emne>
<image>pict2.jpg</image>
<head>os2</head>
<text>Lorem ipsum 2 </text>
</emne>
<niv1>
<niv2>
<emne>
<image>pict3.jpg</image>
<head>ny os</head>
<text>Lorem ipsum 1 </text>
</emne>
<emne>
<image>pict4.jpg</image>
<head>ny os2</head>
<text>Lorem ipsum 2 </text>
</emne>
<niv2>
</content>
Eller er der en anden og smartere måde? Please....