PDA

Volledige versie bekijken : XML script aanpassen


Saskia
%Europe/Berlin %580 %2006, 14:56
Hoi iedereen,

Ik heb een vraagje. Bij www.kirupa.com heb ik een leuke tutorial gevonden van een photogallery de via xml foto's laat zien.

En mijn vraag was. Hoe kan je nu dit aanpassen zodat de foto's gewoon getoond worden zonder dat je op een button moet klikken voor de volgende foto ?
Gaat dat in xml ? Kan je bv. en bepaalde tijd instellen en dan zeggen, na zoveel seconden moet ie gewoon naar de volgende gaan in de xml file ?

Ben nog aan het leren...dus als iemand me kan helpen ?

groetjes

theFlashWizard
%Europe/Berlin %750 %2006, 19:00
Ik kan geen script terug vinden in je fla?
Het is waarscheinlijk handiger als je even een link bijvoegt naar de tutorial.
Het handigste is nog om het script dat je nu gebruikt te laten zien, zodat wij kunnen vertellen wat je dan aan moet passen.

Saskia
%Europe/Berlin %387 %2006, 10:18
Dit is de link van de tutorial.

http://www.kirupa.com/developer/mx2004/xml_flash_photogallery.htm

Je kan hem ergens downloaden... helemaal klaar.

Ik weet dat je gewoon ergens in die code een nieuwe functie moet aanmaken die zegt na zoveel seconden, volgende node inladen...maar ik weet niet hoe je dat schrijft.
Ik heb overal al gezocht naar voorbeeldjes maar het lukt me niet.

Ik ben niet zo goed in scripting.

Dauntless
%Europe/Berlin %458 %2006, 11:59
Je kan inderdaad de volledig afgewerkte versie downloaden... Maar misschien is het interessanter dat je even de tutorial volgt en dat je wéét wat je doet. Daarna zal het niet zo moeilijk zijn om het zelf even aan te passen.

Saskia
%Europe/Berlin %560 %2006, 14:26
Ik heb die tutorial gevolgd. En ik begrijp het allemaal wel, hoe dat werk...als het daar staat. Maar het zou me nooit lukken om dat zo allemaal zelf te schrijven.

Ik heb geprobeert om een timer er tussen te zetten...maar het lukt niet. Ik weet niet hoe ik die volgende image kan oproepen.

Dit is wat ik heb...
--------------------------------------------------------


function loadXML(loaded) {
if (loaded) {
xmlNode = this.firstChild;
image = [];
description = [];
total = xmlNode.childNodes.length;
for (i=0; i<total; i++) {
image[i] = xmlNode.childNodes[i].childNodes[0].firstChild.nodeValue;
description[i] = xmlNode.childNodes[i].childNodes[1].firstChild.nodeValue;
}
firstImage();
} else {
content = "file not loaded!";
}
}
xmlData = new XML();
xmlData.ignoreWhite = true;
xmlData.onLoad = loadXML;
xmlData.load("images.xml");
/////////////////////////////////////
listen = new Object();
listen = function() {

myInterval = setInterval(go, 1000);
function go(){
clearInterval(myInterval);
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];
picture_num();
}
}
}

function firstImage() {
if (loaded == filesize) {
picture._alpha = 0;
picture.loadMovie(image[0], 1);
desc_txt.text = description[0];
picture_num();
}
}
function picture_num() {
current_pos = p+1;
pos_txt.text = current_pos+" / "+total;
}

Dauntless
%Europe/Berlin %607 %2006, 15:35
Open je AS window en klik op het icoontjes naast het 'blauwe vinkje'.
Je code wordt nu automatisch gestructureerd. Je kan nu gemakkelijk zien dat je structuur bij 'listen' fout is. Ook heb je sowieso al helemaal geen listener nodig want je luistert niet meer naar keys.


function loadXML(loaded) {
if (loaded) {
xmlNode = this.firstChild;
image = [];
description = [];
total = xmlNode.childNodes.length;
for (i=0; i<total; i++) {
image[i] = xmlNode.childNodes[i].childNodes[0].firstChild.nodeValue;
description[i] = xmlNode.childNodes[i].childNodes[1].firstChild.nodeValue;
}
firstImage();
} else {
content = "file not loaded!";
}
}
xmlData = new XML();
xmlData.ignoreWhite = true;
xmlData.onLoad = loadXML;
xmlData.load("images.xml");
/////////////////////////////////////
myInterval = setInterval(this, "go", 1000);
function go() {
nextImage();
clearInterval(myInterval);
}
/////////////////////////////////////
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];
picture_num();
}
}
}
function firstImage() {
if (loaded == filesize) {
picture._alpha = 0;
picture.loadMovie(image[0], 1);
desc_txt.text = description[0];
picture_num();
}
}
function picture_num() {
current_pos = p+1;
pos_txt.text = current_pos+" / "+total;
}