Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 28
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    210

    unloadMovieNum non mi funziona...

    Sulla mia timeline principale ho un pulsante - pippo - che richiama un filmato esterno - pluto.swf - Questo filmato esterno contiene un'animazione di apertura molto semplice (appare fade in tramite i canali alpha). Vorrei che quando questo filmato esterno viene scaricato si aprisse e chiudesse un filmato esterno con la stessa animazione al contrario (il filmato che svanisce fade Out tramite canali alpha).
    Ho provato a farlo tramite quest as dentro pluto:

    onClipEvent (unload) {
    loadMovieNum("plutoOut.swf"); //l'animazione col fade out
    }

    E in modi simili...Ma non funziona! Questi esempi sono, naturalmente, pretestuosi. Non mi interessa per forza il fade in e out. Mi interessa capire come inserire una seconda animazione di chiusura ad un filmato esterno tramite onClipEvent (unload) .. oppure tramite unloadMovieNum
    ma non so dove inserire il codice (nel pulsante pippo o dentro pluto?)ne esattamente come scriverlo!! Sto facendo un sacco di confusione e magari è una cosa semplice. Boh? Chi mi sa aiutare?

  2. #2
    Non ho ben capito cosa vuoi fare, in ogni caso il codice che hai postato è sbagliato.
    Anzitutto: loadMovieNum carica un file esterno in un livello
    loadMovie carica un file esterno in un mc target
    Ora, se vuoi caricare un file swf scrivi semplicemente
    loadMovieNum("nomefile.swf",1); //dove 1 è il livello
    per scaricare lo stesso file (in realtà non si scarica un file, ma il livello corrispondente)
    unloadMovieNum(1);
    Spero di essere stato chiaro e di averti aiutato.

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    210
    No... la conosco la differenza fra loadMovieNum e loadMovie, avevo omesso l'1 perchè era un esempio e nella fretta non ci ho fatto caso. Vediamo se riesco a spiegarmi meglio. Fra le guide di flas-mx.it si trova, in una pagina che parla degli eventi gestiti dai mc, questo:

    Unload: quando il movieclip viene scaricato (non è più visibile nel filmato);
    L'evento si svolge un attimo prima che il movieClip venga scaricato

    io ho provato ad usare su un mio mc questo codice:

    onClipEvent (load) {
    loadMovieNum ("21.swf", 1);
    }

    onClipEvent (unload) {
    loadMovieNum ("22.swf", 1);
    }

    il primo funziona e mi apre un swf esterno (il 21.swf). Il secondo non fa niente ed io vorrei che, una volta chiuso quel mc se ne aprisse subito un altro (il 22.swf). Se, come si dice nella guida, l'evento agisce un momento prima che il mc venga scaricato, dovrebbe aprirsi ma io devo non aver capito qualcosa..... forse come si fa a scaricare il 21... boh?

  4. #4
    basta fare il load del nuovo sullo stesso livello e il secondo si sostituisce in automatico al primo
    Consulenza aziendale a 360° http://www.gruppodg.it http://www.gruppodg.it/3d
    Realizzazione siti internet, Siti Flash, Ricerca Location per bar negozi , esercizi commerciali, sviluppo pratiche e allestimento

  5. #5
    Vediamo se ho capito le tue intenzioni...

    Tu hai una serie di filmati "esterni" da caricare (non importa se con loadMovie o loadMovieNum) tramite dei pulsanti.

    Questi filmati hanno tutti una dissolvenza iniziale, o comunque un'animazione iniziale.

    Tu vorresti che questi filmati avessero anche una dissolvenza (o altra animazione) in uscita.

    Bene, allora, come già avviene per l'animazione iniziale, anche quella finale, di chiusura, deve essere nel filmato stesso.
    Per cui i filmati esterni che carichi dovrebbero avere una struttura logica di questo tipo:
    1) Animazione iniziale
    2) Body con stop() della timeline principale
    3) Animazione finale (identificata da una label)

    Ti servirà anche una variabile (magari sulla _root) per tenere memoria del filmato esterno in esecuzione, inizializzato vuoto, p. es. esterno = "";

    Ed infine una "funzione" attivata dai vari pulsanti che eseguirà i seguenti passi:
    1) Verifica il contenuto di esterno = "";
    >>> se vuoto (significa che nessun filmato esterno è in esecuzione) va direttamente al punto 2)
    >>> se valorizzato esegue l'animazione di chiusura del filmato corrente
    2) a chiusura ultimata carica il nuovo filmato.

    Esempio di funzione (ipotizziamo che i filmato siano caricati sul livello 1):
    codice:
    function caricafilmato (newmovie) {
        if (esterno =! "") {
            // l'etichetta dell'animazione finale è "chiusura"
            _level1.gotoAndPlay("chiusura");
            // aspetto che sia finita l'animazione
            this.onEnterFrame = function() {
                if (_level1._currentframe == _level1._totalframes) {
                    delete this.onEnterFrame;
                }
            }
        }
        // adesso devo caricare il nuovo filmato
        // NON è necessario fare unload perché implicito nel load
        esterno = newmovie; // memorizzo il nuovo nome del filmato
        loadMovieNum(esterno, 1);
    }
    Nei vari pulsanti, dovrai semplicemente scrivere:
    on (release) {
    caricafilmato("pippo.swf");
    }

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    210

    Allora... ci provo subito. Ma non ho capito questo:

    Ti servirà anche una variabile (magari sulla _root) per tenere memoria del filmato esterno in esecuzione, inizializzato vuoto, p. es. esterno = "";
    La variabile è sulla root del filmato esterno? Se la metto nel primo fotogramma va bene? Basta scrivere: - esterno = ""; - per poterla richiamare dalla timeline del filmato principale? Poi: che intendi con: inizializzato vuoto? Il filmato esterno che ho io è ovviamente pieno di materiale....
    Se ho capito bene poi la funzione dovrebbe andare nella timeline del filmato principale... nel primo fotogramma e basta?

    Grazie comunque dell'abbondante spiegazione!!

  7. #7
    Per rendere il tutto più "versatile" sia la funzione che la variabile vanno messi sulla timeline del filmato principale (nel 1° frame).

    L'unico intervento che dovrai fare nei vari movie "esterni" sarà quella di mettere l'animazione di chiusura, referenziata da una etichetta univoca, cioè uguale per tutti i filmati esterni (nel mio esempio l'ho chiamata "chiusura").

  8. #8
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    210
    Ho provato tutto ma non funziona.
    Ricapitolo. Nella timeline principale nel primo frame ho messo:

    esterno = "";
    function caricafilmato (newmovie) {
    if (esterno =! "") {
    _level1.gotoAndPlay("chiusura");
    this.onEnterFrame = function() {
    if (_level1._currentframe == _level1._totalframes) {
    delete this.onEnterFrame;
    }
    }
    }
    loadMovieNum(esterno, 1);
    }

    i pulsanti hanno:

    on (release) {
    caricafilmato("menufoto.swf", 1);
    }

    Il filmato esterno menufoto.swf è di 31 frame. Dall'1 al 15 c'è la prima animazione e nel frame 15 uno stop;
    Nel frame 16 ho messo la label chiusura. Dal 16 al 31 c'è la stessa animazione dei primi 15 frame al contario.

    Nient'altro. Non funge.

  9. #9
    I pulsanti sono nel filmato principale, vero?

    Sono posizionati direttamente sulla timeline principale (_root)?

    Oppure sono annidati in un movieclip?

  10. #10
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    210
    Scusa.. ferma tutto! Ora funziona!
    Solo che adesso il tutto mi ha creato altri problemi.
    Dalla timeline principale ho 4 pulsanti che richiamano file esterni col metodo che ora mi hai spiegato tu.
    Clicco sul primo, si apre il filmato esterno...
    Clicco sul secondo, il primo si chiude con l'animazione in uscita che volevo (yuppy!!) e quindi funziona. Ma non si apre l'altro filmato a meno che non riclicco sul secondo pulsante. Praticamente ci devo cliccare due volte. Dunque nel primo pulsante c'è:

    on (release) {
    unloadMovieNum(2);
    caricafilmato("menufoto.swf", 1);
    }

    Nel secondo c'è:

    on (release) {
    unloadMovieNum(2);
    caricafilmato("dati.swf", 1);
    }

    Se clicco su menufoto si apre e aspetta al frame 15. se clico su dati mi esegue prima l'animazione di chiusura di menufoto...ma dati non si apre se non riclicco il pulsante.
    Perchè?

    ps. unloadMovieNum(2); mi serve perchè quei due filmati aprono mc esterni sul livello due e li devo svuotare... ma non credo che a noi interessi..

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 © 2026 vBulletin Solutions, Inc. All rights reserved.