Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Caricamento swf esterno... non capisco cosa c'è che non va :cry:

    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
    .:~°') Kikka ('°~:.

  2. #2
    si può vedere online oppure ce lo alleghi cosi da debaggare ?



  3. #3
    Problema risolto... ora posto la soluzione per chi avesse il mio stesso problema.

    Sintetizzando, il mio problema era nell'utilizzo del metodo loadClip per caricare un swf esterno contenente un suono istanziato con attachSound. Facendo test su test ho notato che la parte grafica del movieclip (che ho inserito solo a scopo di test, l'originale era invisibile) veniva visualizzata.

    Ho capito, girando in lungo e in largo il web, che era un problema di path.

    il nuovo codice che ho piazzato nell'swf esterno è questo:
    codice:
    _root.sottofondo = new Sound(this);
    _root.sottofondo.attachSound("suono");
    _root.sottofondo.start(0,0);
    Una volta effettuato il loadClip, per interagire col suono ho considerato lo stesso path utilizzato nel movieClip esterno. Ad esempio, per settare il volume:
    codice:
    _root.sottofondo.setVolume(50);
    il suono è istanziato sulla timeline principale, e non nel movieclip ospite... spero di essere stata chiara
    .:~°') Kikka ('°~:.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.