salve!
anche oggi ho un problema con flash... mi spiego.
il mio sito è organizzato così:
main.swf che carica sito.swf che carica o clip1.swf o clip2.swf a seconda del frame.
ora volglio aggiundere un preload al main.swf perchè è pesantuccio (1MB!!!). se lo metto esterno faccio casino perchè devo impostare il this._lookroot=true e poi alla fine disabilitarlo altrimenti non mi visualizza più gli altri filmati. però posso metterlo interno avendo solo 1 frame sul main.swf. Ho provato a mettere questo script sul layer perload:
e questo sul layer richiama:codice:function preloader() { barWidth = 250; // lunghezza della barra barHeight = 5; // altezza della barra startX = 100 // posizione x del preloader startY = 200 // posizione x del preloader goSomewhere = "inizio"; var pB = this.createEmptyMovieClip("preloadBar", 2); // istruzione della barra var pK = this.createEmptyMovieClip("preloadBarKeyline", 3); pK.lineStyle(1,0xFFFFFF,100); pK.moveTo(startX,startY); pK.lineTo(startX+barWidth,startY);pK.lineTo(startX+barWidth,startY+barHeight); pK.lineTo(startX,startY+barHeight);pK.lineTo(startX,startY); // percentuale this.createTextField("percentText",4,startX,startY-(barHeight*4),30,20); percentTextFormat = new TextFormat(); percentTextFormat.font = "_sans"; percentTextFormat.color = 0xCCCCCC; this.percentText.setTextFormat(percentTextFormat); ptotal = this.getBytesTotal(); // this.onEnterFrame = function() { if (ploaded == ptotal && ptotal > 0) { pB.removeMovieClip();pK.removeMovieClip(); percentText.removeTextField(); this.gotoAndStop(goSomewhere); this.onEnterFrame = null; } else { ploaded = this.getBytesLoaded(); ptotal = this.getBytesTotal(); percent = Math.round((ploaded/ptotal)*barWidth); percentText.text = Math.round((ploaded/ptotal)*100) + "%"; percentText.setTextFormat(percentTextFormat); pB.clear(); pB.moveTo(startX, startY); pB.beginFill(0x006666, 100); pB.lineTo(percent+startX, startY); pB.lineTo(percent+startX, startY+barHeight); pB.lineTo(startX, startY+barHeight); pB.lineTo(startX, startY); pB.endFill(); } } }
poi metto un'etichetta di nome "inizio" dove inizia il filmato (nel mio caso 2°)codice:stop(); preloader();
Dovrebbe funzionare... E' un preloader ultratestato... Ma quando lo guardo in rete vedo una schermata nera, come lo sfondo del filmato, e poi dopo una bella attesa compare il filamto. questo vuol dire che non funziona il preloader... come posso risolvere?

Rispondi quotando