+ Rispondi alla Discussione
Risultati da 1 a 5 di 5

classe MovieClip Loader, piccolo imprevisto..

Ultimo Messaggio di edo_flashas il:
  1. #1
    Esperto
    Data Registrazione
    Mar 2007
    Località
    undefined
    Messaggi
    593

    classe MovieClip Loader, piccolo imprevisto..

    usando il costrutto movieclipload mi rendo conto che il metodo onloadinit, che servirebbe a tener traccia del primo frame caricato di un filmato esterno o la gestione delle proprietà in caso si trattasse di immagine esterna, viene definito subito dopo l'evento onloadComplete. E non durante il progresso o L'inizializzazione del caricamento.


    mcloader = new MovieClipLoader()
    mcloader.loadClip("file.swf",mymc)
    mcloader.onLoadInit = function() {
    mcsarray = new Array()
    mcsarray.push(0)
    mcsarray.push(1)
    trace(mcsarray)
    }

    mcloader.onLoadComplete = function() {
    trace(mcsarray )
    }


    risultato in sequenza

    undefined
    0,1



    come mai?? A me servirebbe richiamare una funzione e gestire l'array generato da onloadinit, solo a caricamento completo. Ma ritornandomi undefined mi diventa impossibile. Qualcuno di voi ha Possibili idee risolutive??

    Avevo io pensato ad un intervalo di mezzosecondo che andasse a pescare l'array generato da onloadinit e conseguente gestione dell'array a caricamento completato. ma non lo messo in pratica per non sprecare tempo es:

    mcloader = new MovieClipLoader()
    mcloader.loadClip("file.swf",mymc)
    mcloader.onLoadInit = function() {
    mcsarray = new Array()
    mcsarray.push(0)
    mcsarray.push(1)
    trace(mcsarray)
    }


    mcloader.onLoadComplete = function() {
    trace(mcsarray)
    pescaarrayInt = setInterval (function() {
    if(mcsarray!==undefined) {
    trace(mcsarray)
    // gestione array
    clearInterval(pescaarrayInt)
    }
    }, 500)
    }


    Il risultato atteso sarebbe

    risultato in sequenza

    undefined
    0,1
    0,1

    Secondo voiPotrebbe funzionare?? Spero aver esposto il mio problema o almeno reso l'idea..
    Ultima modifica di edo_flashas; 15-04-07 alle 16:23

  2. #2
    User Attivo L'avatar di Flep
    Data Registrazione
    Feb 2006
    Località
    Undisclosed city of South America
    Messaggi
    5,747
    Devi aggiungere un listener o tuoi eventi non funzionano

    Questo è corretto:
    Codice:
    var clip:MovieClip=_root.createEmptyMovieClip('clip_mc',_root.getNextHighestDepth());
    var loader:MovieClipLoader=new MovieClipLoader();
    var obj:Object=new Object();
    loader.addListener(obj);
    loader.loadClip('my.swf',clip);
    obj.onLoadInit=function(m:MovieClip):Void
    {
     trace(m);
    }

  3. #3
    Esperto
    Data Registrazione
    Mar 2007
    Località
    undefined
    Messaggi
    593
    umm pure con listener... onloadInit viene definito dopo onloadcomplete, capi flep??
    cmq provo a riordinare il tutto.
    grazie per ora..

  4. #4
    User Attivo L'avatar di Flep
    Data Registrazione
    Feb 2006
    Località
    Undisclosed city of South America
    Messaggi
    5,747
    onLoadInit viene sempre eseguito dopo onLoadComplete, questo perchè onLoadComplete serve a sapere quando il tuo swf esterno è completamente caricato (in qual caso tu volessi far eseguire dell'altro codice come ad esempio una funzione solo quando l'swf è completamente caricato).

    Invece onLoadInit ti permette di interagire con l'swf esterno che hai caricato come se fosse una movieclip che già avevi nello Stage, quindi puoi utilizzare tutti i suoi metodi in quanto all'onLoadInit l'swf esterno diventa una MovieClip, quindi ad esmpio puoi dirgli play(), o stop() o giocare con la sua _alpha ecc ecc

  5. #5
    Esperto
    Data Registrazione
    Mar 2007
    Località
    undefined
    Messaggi
    593
    flep ti ringrazio se sempre disponibile e gentile.
    ho risolto con l'intervallo come temevo, se rileggi già dal mio primo post.

    Da onloadcomplete sotto intervallo controllo che l'array sia stato creato da onloadInit e non appena è stato creato lo gestisco con serenità senza ulteriori fastidi.

    Spero sia cosa giusta. eheh

+ Rispondi alla Discussione

Tag per Questa Discussione

^ Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •  
  • Il codice BB è Attivato
  • Le faccine sono Attivato
  • Il codice [IMG] è Attivato
  • Il codice [VIDEO] è Attivato
  • Il codice HTML è Disattivato
  • Trackbacks Attivato
  • Pingback Attivato
  • Refback Attivato

SEO by vBSEO 3.6.0 PL2 ©2011, Crawlability, Inc.