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

    MovieClipLoader AIUTO!!!

    ho provato questo preload: [PILLOLA] Introduzione ed utilizzo di MovieClipLoader [MX 2004] e devo dire funziona, ma io ho una domanda da porvi:
    ho un filmato fatto da due scene una preload e l'altra chiamata principale. Metto sul 1° frame della scena preload il dodice qui sotto riportato, una volta caricato mi serve far partire al frame 25 della scena successiva il caricato... come fare?

    stop();

    //ora mi creo un paio di variabili stringa per definire eventuale folder e nome file da caricare ...
    var path:String = new String("");
    // specifico la folder ...
    var swfName:String = new String(path+"2.swf");
    // ... e il nome del mio swf


    // mi creo un campo di testo dinamico da utilizzare
    // come debugger per inserire l'accaduto durante, prima e dopo ...
    // creo un campo di testo dinamico
    // con nome istanza debug_txt
    this.createTextField("debug_txt", 1, 0, 0, 1, 1);
    this["debug_txt"].autoSize = true;
    // lo rendo autosizzante
    this["debug_txt"].html = true;
    // gli abilito l' html ...


    // ... e creo lo stile ...
    var myFormat:TextFormat = new TextFormat();
    // istanzio la mia variabile di tipo TextFormat
    myFormat.font = "Franklin Gothic Demi Cond";
    // assegno l 'attributo font
    myFormat.size = 12;
    // l'attributo size
    myFormat.color = 0xFFFFFF;
    // l' attributo color


    // ora mi creo una variabile che popolero' di informazioni durante le mie prove ...
    var globalStatus:String = new String();

    /**********************************
    * FUNZIONI UTILI
    * [ dichiarazioni funzioni ]
    **********************************/
    // adesso voglio creare una funzione che una volta richiamata
    // mi popola di testo passato il campo dinamico creato in precedenza
    function accaduto(campo:TextField, testo:String, formattazione:TextFormat) {
    campo.htmlText = testo;
    campo.setTextFormat(formattazione);
    }
    /********************************/



    /**********************************
    * CREAZIONE DATI E CARICAMENTO
    * [ gestione layout ed eventi ]
    **********************************/

    var myLoadedMovie:MovieClipLoader = new MovieClipLoader(); // creo il MovieClip loader
    var MovieListner:Object = new Object(); // creo l'oggetto listner per myLoadedMovie

    // onLoadStart
    MovieListner.onLoadStart = function (target_mc) {
    // comincio a popolare la variabile con gli avvenimenti ...
    globalStatus = "Inizio caricamento di " + target_mc + "\n";

    // e ci metto dentro anche il "misterioso" getProgress()
    var loadProgress:Object = new Object(myLoadedMovie.getProgress(target_mc));
    globalStatus += "Bytes caricati all' avvio: " + loadProgress.bytesLoaded + "\n";
    globalStatus += "Bytes totali all' avvio: " + loadProgress.bytesTotal + "\n";
    }

    // onLoadProgress
    MovieListner.onLoadProgress = function (target_mc, loadedBytes, totalBytes) {
    // mostro in fase di caricamento il mio preload
    // senza Math.round, vars car e tot e le solite cosa insomma ...
    var caricamento = "Totale bytes caricati: " + loadedBytes + "\n";
    caricamento += "Totale bytes da caricare: " + totalBytes + "\n \n";
    // facile no ?


    // pero' voglio testare anche le differenze
    //con progress ( notabili solo con files compressi ... )
    var loadProgress:Object = new Object(myLoadedMovie.getProgress(target_mc));
    caricamento += "Totale bytes PROGRESS da caricare: " + loadProgress.bytesLoaded + "\n";
    caricamento += "Totale bytes PROGRESS totali: " + loadProgress.bytesTotal + "\n";

    // e leggere quanto appena richiesto ...
    accaduto(debug_txt, caricamento, myFormat);
    }

    // onLoadComplete
    MovieListner.onLoadComplete = function (target_mc) {
    // posso scrivere 100% grosso quanto una casa ma mi conviene aspettare a fare settaggi ...
    globalStatus += "Il file " + target_mc + " e' pronto per essere inizializzato.\n";
    nextScene();
    play();
    }

    // onLoadInit
    MovieListner.onLoadInit = function (target_mc) {
    // perche' e' in questo momento che andro' a farli ...
    target_mc._alpha = 50;
    target_mc._x = Stage.width - target_mc._width;
    globalStatus += "Inizializzazione " + target_mc + " completata.\n";

    // fino a togliere la scritta dey bytes e metterci tute le info raccolte fin'ora
    accaduto(debug_txt, globalStatus, myFormat);
    }

    // onLoadError
    MovieListner.onLoadError = function (target_mc, errorCode) {
    // oppure rinunciare a caricare, spiegando il motivo ..
    globalStatus += "Impossibile caricare questo file: " + target_mc + "\n";
    globalStatus += "[ " + errorCode + " ]\n";
    accaduto(debug_txt, globalStatus, myFormat);

    // e svuotando quanto resta dell' ormai inutile MovieClip di target
    myLoadedMovie.unloadClip(target_mc);
    }



    // dopo aver dichiarato i vari eventi del listner, associo quest' ultimo al MovieClipLoader ...
    myLoadedMovie.addListener(MovieListner);


    // ... per poi creare qui un MovieClip
    // con nome istanza myMove e depth 10 che andro' ad utilizzare come target
    this.createEmptyMovieClip("mymove", 10);
    // e passare le variabili create all' inizio per caricare il mio file ...
    myLoadedMovie.loadClip(path+swfName, this["mymove"]); // .. con this["myMove"] per target


    su onLoadComplete poi (forse sbaglio) mando alla scena successiva con next scene(); e successivamente play();

    Il preload mi carica un swf esterno contenente audio, solo che facendo il preload l'audio mi parte al primo frame della scena successiva, io ho la necessità di farlo partire al frame 25, ho provato a mettere stopAllSound al primo frame della schena principale, ma niente da fare...

    AIUTO!!!

  2. #2
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    non ho letto con precisione tutto lo script... ma questo dovrebbe riassumere il problema

    su onLoadComplete poi (forse sbaglio) mando alla scena successiva con next scene();
    prova a levare quelle azioni da onLoadComplete e a metterle su onLoadInit

  3. #3
    ho provato a metterle su onLoadInit , ma il risultato resta uguale, cioè il file caricato parte al primo frame della scena successiva...
    Forse non c'entra ma ho sentito parlare di rendere invisibile, come posso fare per renderlo invisibile al 1° frame e farlo vedere al 25°?

  4. #4
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    ho bisogno di un po' di tempo per leggere lo script, e ora non riesco... appena ho notizie ti faccio sapere...

  5. #5
    funziona, ho aggiunto stopAllSound sul preload e sul primo frame della scena successiva e funziona... Ma il metodo che ho utilizzato mi sembra troppo banale... ne esistono di altri?

  6. #6
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    >> ho aggiunto stopAllSound sul preload e sul primo frame della scena successiva e
    >> funziona

    bene


    >>Ma il metodo che ho utilizzato mi sembra troppo banale... ne esistono di altri?

    direi di sì, quello di controllare l'audio via codice con la classe Sound

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.