01. juli 2006 - 00:09Der er
6 kommentarer og 1 løsning
Fejl i loop?
Jeg får den klassiske fejlbesked om, at Flash kører langsomt og vil vide om den skal afbryde scriptet eller ej. Den XML-fil, jeg indlæser, fylder mx 5 KB, så jeg tvivler på, at det er størrelsen af den, der er til besvær.
Sådan ser det ud, når jeg indlæser filen:
var ref:MovieClip = this; var menu:XML = new XML();
function knapOver() { this.gotoAndStop(2); this.label_txt.textColor = 0x97BF0D; } function knapOut() { this.gotoAndStop(1); this.label_txt.textColor = 0x000000; } function knapRelease() { getURL(this.link); }
menu.onLoad = function(success:Boolean) { if (success) { var base:Object = this.firstChild.childNodes; var knap:MovieClip; for (var i = 0; i<base.length; i++) { knap = ref.attachMovie("knap", "knap"+i, i); knap._y = 17*i; knap.label_txt.text = base[i].childNodes[0].firstChild.nodeValue; knap.link = base[i].childNodes[1].firstChild.nodeValue; knap.onRollOver = knapOver; knap.onRollOut = knapOut; knap.onRelease = knapRelease; } info_clip._visible = false; info_clip._height = base.length*17; } else { trace("Listen blev ikke indlæst"); } }; menu.ignoreWhite = true; menu.load("xml/refListe2.php");
Menuen, som indlæses, ligger i et movieclip, så ligger i en række andre movieclips, så den ligger ikke i _root.
Nogen der kan se, hvad der er galt? Eller har et forslag til en løsning?
Hvordan ser din xml ud? Umiddelbart lyder det som om "base.length" i din for-løkke bliver noget andet end et tal og derfor aldrig bliver færdig. Du kan evt. selv tjekke det ved at udkommentere for-løkken og trace "base.length" ud for at se hvad "tallet" bliver.
...hov, ser lige at "base" sættes til at være et objekt. Skal det ikke være XML? Prøv at lav det om til "var base:XML = ...."
Nu har jeg kigget på scriptet, og selvom det er skruet lidt anderledes sammen end jeg ville, så virker det upåklageligt.
Jeg forstår ikke helt: "Menuen, som indlæses, ligger i et movieclip, så ligger i en række andre movieclips, så den ligger ikke i _root." Men det tyder jo på at du får lavet nogle uhensigtsmæssige rekursive kald. SMider du scriptet i en frame på main timeline? Forklar gerne hvad du vil opnå og/eller smid gerne din fla op et sted - så giver jeg den gerne et kig.
Jeg har smidt det op på et testsite, men det giver mig ingen problemer :/ Så noget kunne tyde på at problemet med hukommelsen opstår, fordi der skal indlæses 3 små Flash-film på samme side.
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.