PDA

Volledige versie bekijken : xml gebruiken om mc aan te sturen.


Maaike
%Europe/Berlin %633 %2005, 15:11
Nou moe, snap dit maar eens:
Ik lees iets uit uit een XML document, en dat werkt prima, maar ik kan het niet inzetten om een mc aan te sturen......

xmlDoc = new XML();
xmlDoc.ignoreWhite = true;
xmlDoc.load("sponsormeter.xml");
xmlDoc.onLoad = verwerkXML;
function verwerkXML(ok) {
if (ok) {
sponsorobjecten = this.firstChild.childNodes;
for (i=0;i<sponsorobjecten.length;i++) {
if (sponsorobjecten[i].nodeName == "ligstoel") {
percentage.text += sponsorobjecten[i].firstChild.nodeValue + "\n";
trace(percentage.text); ?
// tot zover gaat alles goed, ik krijg prachtig een getal uit mijn trace.
_root.meter.gotoAndPlay(Number(percentage.text)); // >> en dit lukt dus niet !!
}
}
}
}


Ik wil dus met de waarde verkregen uit de XML (bijvoorbeeld 80), tegen een mc zeggen dat hij naar frame 80 moet gaan. maar dat doet ie niet :X

Ik had eerst een txt gekoppeld (ipv XML):
mijnLoadVars = new LoadVars();
mijnLoadVars.load("sponsormeter.txt");
mijnLoadVars.onLoad = function(ok) {
if (ok) {
percentage.text = this.ligstoel;
trace(percentage.text);
_root.meter.gotoAndStop(percentage.text);
}
}

Dat werkte prima.... :S

Iemand enig idee ??

alvast dank !

Maaike

Jobu
%Europe/Berlin %650 %2005, 15:36
Misschien gebruik je beter de functie eval() ipv Number() ??

Maaike
%Europe/Berlin %659 %2005, 15:50
Hoi Jobu, dank voor de tip,
maar helaas......

Nu heb ik:
_root.meter.gotoAndPlay(eval(percentage.text));

Maar dat werkt ook voor geen meter [V]

Maaike

Jobu
%Europe/Berlin %676 %2005, 16:13
Ben je zeker dat je instance-name meter heet? Trace het mss is.

Probeer anders je waarde in een variabele te steken met strict datatyping:

var mijnvar:Number = eval(percentage.text);
_root.meter.gotoAndStop(mijnvar);

Jobu

FredericCox
%Europe/Berlin %685 %2005, 16:27
Is dit geen scope probleem?


doe eens voor de load("..")

xmlDoc.scope = _root


en _root in je xml onload vervazngen door scope

FredericCox
%Europe/Berlin %686 %2005, 16:28
trace _root.meter daar eens

Maaike
%Europe/Berlin %712 %2005, 17:05
Nooop helaas, nog geen resultaat. P)
De scope truc (waar is die eigenlijk voor ??) werkte ook niet, dus die heb ik weer weggehaald

Heb nu hetvolgende:

xmlDoc = new XML();
xmlDoc.ignoreWhite = true;
xmlDoc.load("sponsormeter.xml");
xmlDoc.onLoad = verwerkXML;
function verwerkXML(ok) {
if (ok) {
sponsorobjecten = this.firstChild.childNodes;
for (i=0;i<sponsorobjecten.length;i++) {
if (sponsorobjecten[i].nodeName == "ligstoel") {
percentage.text += sponsorobjecten[i].firstChild.nodeValue + "\n";
trace(percentage.text);
var mijnvar:Number = eval(percentage.text);
trace("mijnvar = " +mijnvar);
_root.meter.gotoAndStop(mijnvar); // >> WERKT NIET
}
}
}
}
_root.meter.gotoAndStop(20); // >> DOET HET PRIMA

Ik heb wel eens een BUG gehad, wellicht moet ik opnieuw beginnen ?? :O

Jobu
%Europe/Berlin %798 %2005, 19:09
Ik merk opeens op dat je hetvolgende gebruikt (ik had wat beter moeten kijken :) )

percentage.text += sponsorobjecten[i].firstChild.nodeValue + "\n";

Waarom doe je += ???
Enkel = is toch voldoende als ik het goed heb?

Ook je \n is hier onnodig denk ik, die is in jouw geval (om een cijfer te verkrijgen) toch nergens voor nodig?

Jobu

Maaike
%Europe/Berlin %501 %2005, 12:02
Klopt, dit zat er nog in vanwege een eventuele uitbreiding.
Heb het weggehaald, maar het helpt niet....
Vreeeeeemd |)

Maaike
%Europe/Berlin %506 %2005, 12:09
Nou, ik ben eruit :) :) :)

Het slaat helmaal nergens op, maar het is alsvolgt:

var mijnvar= percentage.text; // dus GEEN eval en GEEN Number
trace("mijnvar = " +mijnvar);
_root.meter.gotoAndStop(mijnvar);


Totaal onlogisch m.i. want _root.meter.gotoAndStop(percentage.text);
werkt dus niet... en met eval en/of number werkt het ook niet...
Pfoeh, het blijft voor mij toch wel erg moeilijk: AS, want ik loop altijd tegen dat soort onlogische zaken aan..... :S

Hartelijk dank voor het meedenken ! [^]
Maaike