Ti ringrazio ..eh sì, non avevo pensato alla cache del browser
In effetti, eliminando i file temporanei di Internet, riesco a vedere qualcosa in localhost, ma solo in Mozilla, perchè IExplorer non visualizza nulla (..?.. eppure sul sito gare.swf lo carica!)
..rimuovendo i commenti a removeChild(barra); barra = null; della funzione che gestisce il ProgressEvent.PROGRESS del Loader, quello che vedo (per un secondo o poco più) é la barra "zebrata ", non il suo riempimento progressivo..neanche da dire di aver incasinato la ProgressBar (magari alterando i colori o quant'altro) perché ho mantenuto la versione che la istanzia da AS3 e non quella viene creata precedentemente sullo stage..
comunque è già un bel passo avanti
..mi son detto, sai che faccio? ..provo a sovrascrivere il sito e vedo che succede
così abbandono ogni prova e metto mano all'swf principale del sito
..intanto creo la barra da AS3 associandole il contentLoaderInfo e gestendo gli eventi di loading:
Codice PHP:
//barra di progressione attesa avanzamento caricamento movieClip
var barra:ProgressBar = new ProgressBar();
barra.x=362;
barra.y=283;
barra.source=loader.contentLoaderInfo;
loader.addEventListener(ProgressEvent.PROGRESS, caricamento);
function caricamento(p:ProgressEvent):void {
var percent:Number = getDecimal((p.currentTarget.bytesLoaded / p.currentTarget.bytesTotal),1);//Math.ceil((p.currentTarget.bytesLoaded / p.currentTarget.bytesTotal));
barra.scaleX=percent;
}
loader.addEventListener(Event.COMPLETE, completato);
function completato(event:Event):void {
loader.removeEventListener(ProgressEvent.PROGRESS, progressHandler);
loader.removeEventListener(Event.COMPLETE, completeHandler);
}
function getDecimal(num:Number, pos:Number):Number {
var dec=Math.pow(10,pos);
var arrNumber= (Math.round(num*dec))/dec;
return arrNumber;
}
..mi confermi che in AS3 la ProgressBar non va da 0 a 100, ma da 0 a 1? altrimenti anziché scrivere var percent:Number = getDecimal((p.currentTarget.bytesLoaded / p.currentTarget.bytesTotal),1); devo mettere var percent:Number = Math.ceil((p.currentTarget.bytesLoaded / p.currentTarget.bytesTotal)*100);
..nell'action dell'swf principale carico vari swf esterni (a seconda del pulsante premuto) in un MClip vuoto: "spazio" (già presente sullo stage) che viene posizionato a seconda delle dimensioni del filmato secondario, ad es.:
Codice PHP:
//pulsante "Gare"
news.addEventListener(MouseEvent.CLICK, click_news);
function click_news(MouseEvent):void {
spazio.removeChild(loader);
addChild(barra);
spazio.x=90;
spazio.y=100;
loader.load(new URLRequest("gare.swf"));
spazio.addChild(loader);
removeChild(barra);
}
ecco cosa succede: la barra non la vedo proprio..
ora provo ad aggiornare il sito ..ti ringrazio per l'aiuto