Ciao a tutti.
Ho realizzato un filmato flash che al fotogramma x carichi in un movieClip di tipo swf.
Prima di postare il codice relativo al caricamento del file, vi descrivo il file swf caricato:
- Il file "ospite" si chiama loop.swf
- nella libreria è stato importato un file mp3 di nome loop.mp3, con opzione "esporta per actionScript" selezionata e id suono
- loop.swf è formato da un singolo fotogramma contenente il seguente codice:
codice:var sottofondo:Sound = new Sound(); sottofondo.attachSound("suono");
Ora vi descrivo il file swf che andrà ad aprire il filmato sopra descritto: al fotogramma x (non è rilevante) ho posizionato un movieClip sound, senza nome istanza; allo stesso fotogramma è stato associato un semplice stop.
Vi descrivo il movieclip sound:
3 fotogrammi
Fotogramma 1:
- del testo statico e del testo dinamico, che mostrano la percentuale di caricamento del file swf che deve caricare (funziona, quindi non lo descrivo)
- un movieclip vuoto con nome istanza loopx, nel quale andrà a finire il file swf esterno (il livello che lo contiene è esteso a tutti e tre i fotogrammi)
- il seguente codice associato al fotogramma
codice:stop(); var soundLoader:MovieClipLoader = new MovieClipLoader(); var soundListener:Object = new Object(); function impostaProgresso(byteCaricati:Number, byteTotali:Number) { var perc:Number = Math.floor(byteCaricati/byteTotali*100); percentuale.text = perc; } soundListener.onLoadProgress = function(mc:MovieClip, numBytesLoaded:Number, numBytesTotal:Number) { impostaProgresso(numBytesLoaded, numBytesTotal); }; soundListener.onLoadComplete = function(mc:MovieClip) { gotoAndStop(2); loopx.sottofondo.start(0,0); }; soundLoader.addListener(soundListener); soundLoader.loadClip("suoni/loop.swf", loopx);
Fotogramma 2:
- un pulsante che mostra il testo "sound on", nome di istanza offBtn
- codice associato al fotogramma:
codice:stop(); offBtn.onRelease = function() { loopx.sottofondo.stop() gotoAndStop(3); }
Fotogramma 3:
- un pulsante che mostra il testo "sound off", nome di istanza onBtn
- codice associato al fotogramma:
codice:stop(); onBtn.onRelease = function() { loopx.sottofondo.start(0,0); gotoAndStop(2); }
Risultato: al test del filmato principale, il caricamento procede bene: ho fatto dei test con trace e altri metodi spartani... una cosa è certa il file loop.swf è stato caricato nel movieClip loopx.
Il suono invece... nulla.
Cosa mi consigliate? Qualcosa che non mi faccia rifare daccapo tutto quanto
Grazie per la pazienza!!!
PS. Il codice è in ActionScript 2.0, anche se ve ne sarete già accorti