Ciao a tutti,
sono una novizia e quindi se scrivo qualche castroneria siate comprensivi.
Dunque, ho un pezzo di as dove leggo un file xml e mi faccio la mia bella animazione con i dati estratti.
Tutto ciò funziona se io ho un file cicciociccio.xml
I dati però li devo estrarre da un db sql, così mi sono fatta una pagina aspx chemi genera l'xlm.
Il mio problema nasce dal fatto che il mio xml (la pagina aspx) risulta vuoto perchè nel momento in cui lo leggo e riempio l'array la pagina aspx non è ancora stata scritta.
O ameno, io credo che avvenga questo, perchè certe volte me la legge e certe volte no....
Come faccio a bloccarlo finche non sono ricura che abbia finito di caricare la pagina?
Facendo il debug ho visto che sul onLoad esce... ma perchè???
Lo facesse sempre capirei, ma 8 volte si e 2 no impazzisco!!!
Questo è il codice:
Codice PHP:function ShowFoto() {
i+=1
var pathimg:String="/documents/HOME/"
var r:Number
var m:Number
var xmlhome = new XML();
var arrayhome = new Array();
xmlhome.load("http://localhost/xmlhome.aspx");
xmlhome.onLoad=function(success) {
if (xmlhome.loaded) {
arrayhome = xmlhome.firstChild.childNodes;
r = (Math.ceil(Math.random()*arrayhome.length))-1
if (arrayhome[r].nodeName == "img"){
objhome.main.createEmptyMovieClip(["foto"+i],objhome.getNextHighestDepth());
objhome.main["foto"+i].loadMovie(pathimg+arrayhome[r].attributes.src)
objhome.main.onEnterFrame=function() {
var car:Number = objhome.main["foto"+i].getBytesLoaded()
var tot:Number = objhome.main["foto"+i].getBytesTotal()
var iBytes:Number=Math.round((car/tot)*100)
if (tot==0){iBytes=0}
objhome.attachMovie("forma", "pBar", objhome.getNextHighestDepth());
with(objhome.pBar){_x=0,_y=460,_width=iBytes,_height=1}
if ((car == tot) && (tot > 0)){
removeMovieClip(objhome.pBar);
delete this.onEnterFrame;
with(objhome.main["foto"+i]){_x=0,_y=80}
new Tween(objhome.main["foto"+i], "_alpha", Strong.easeOut, 0, 100, 30, false)
for (m=1;m<l;m++ ) {
if (objhome.main["foto"+m]!=undefined){
removeMovieClip(objhome.main["foto"+m]);
}
} }
}
}
}
}
}

Rispondi quotando