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

    Preload di due filmati esterno e poi inizia

    Ciao ragazzi,
    come da oggetto volevo sapere come fare a realizzare questo:

    ho unfilmato principale vuoto che contiene solo due MC vuoti al cui interno saranno richiamati due filmati swf esterni.

    Siccome il secondo filmato dovrà essere caricato solo dopo un certo numero di frame, esiste un modo per far caricare in anticipo tutti e due i filmati esterni, e solo dopo che li ha caricati far partire il tutto?

    Spero di essermi spiegato bene.

    Grazie mille

  2. #2
    Utente di HTML.it L'avatar di NAP
    Registrato dal
    Jan 2001
    Messaggi
    4,398
    Ma il preloader ce l'hai?
    Quali azioni usi per caricare i due file esterni? (mi serve la sintassi).

    Quello che chiedi, ammesso che tu abbia già il preloader, si può fare tramite un'escamotage:

    sebbene anche il secondo mc vuoto si trovi nello stesso frame del primo, puoi renderlo momentaneamente invisibile, così:
    nel frame in cui si trova il mcVuoto2:

    _root.mcVuoto2._visible = false;

    In tal modo il preloader li carica entrambi ma si vede solo il primo.
    Supponendo che il secondo filmato debba partire (e rendersi visibile) solo al termine del primo, allora nel primo frame del secondo swf (quindi nel suo .fla):
    stop ();

    nell'ultimo frame, stavolta del primo swf, ci metti:
    codice:
    _level0.mcVuoto2._visible = true; // il secondo, già caricato, si rende visibile...
    _level0.mcVuoto2.gotoAndPlay (2); // ... e parte, sbloccando il frame n° 1.
    _level0.mcVuoto1._visible = false; //solo se vuoi che il primo swf scompaia, altrimenti non usare questa riga.
    A volte la diplomazia va condita con un pizzico di siluri fotonici. (K. Janeway)

  3. #3
    Ciao,
    allora purtroppo i due swf esterni che vengono richiamati non hanno un fla, ho soltanto l'swf in quanto sono stati fatti in 3DStudioMax e poi esportati in swf.

    La sintassi che uso per richiamarli è il semplice loadMovie all'interno di un MC.

  4. #4
    Utente di HTML.it L'avatar di NAP
    Registrato dal
    Jan 2001
    Messaggi
    4,398
    Se vuoi che io ti aiuti per bene devi rispondere altrettanto compiutamente alle mie domande che ti faccio/fanno.
    Non hai risposto a: "Il preloader ce l'hai già?".
    Se ti ho chiesto la sintassi vorrei la sintassi che hai usato, non "una spiegazione vaga" perché esiste più di un modo per scrivere le istruzioni destinate al loadMovie in uno o più contenitori.

    In assenza dei .fla, possiamo cambiare strategia:
    rendere invisibile il mc2 e appalesarlo dopo, con un temporizzatore. Per farlo, occorre che tu mi dica:
    - in quale frame (mi serve il numero) si trova il contenitore1 e...
    - in quale frame si trova il contenitore2.

    Sai com'è... nessuno ha il dono dell'onniscienza. Se dai spiegazioni complete puoi ottenere aiuti concreti.
    Se il fatto che i caricati sono senza . fla, lo avessi detto subito, a quest'ora saremmo alla conclusone "già da ieri" e non mi sarei perso in cose che, alla luce di questo fatto, sono ed erano inutili.
    A volte la diplomazia va condita con un pizzico di siluri fotonici. (K. Janeway)

  5. #5
    sì ok.

    il preloader non c'è.

    i file swf vengono richiamati così:

    loadMovie("primoswf.swf", "mc");
    loadMovie("secondoswf.swf", "mc2");

    il contenitore 1 si trova al frame 1.
    il contenitore 2 si trova al frame 201.

    Grazie.

  6. #6
    Utente di HTML.it L'avatar di NAP
    Registrato dal
    Jan 2001
    Messaggi
    4,398
    Bene. Dal momento che il preloader non ce l'hai, dovresti procurartene uno, e collocarlo in un altro, nuovo livello, sempre nel frame n° 1.
    Prima dello script che concerne il preloader, scrivi:

    codice:
    _root.stop ();
    loadMovie ("primoswf.swf", "_root.mc");
    _root.mc2._alpha = 0; // il contenuto di mc2, nonostante sia già caricato, NON si vedrà.
    loadMovie ("secondoswf.swf", "_root.mc2");
    Nell'ultima riga del preloader, dove vedi:

    if (car == tot) { // di solito è così

    fai seguire:

    _root.play ();

    Quindi, al completo:
    codice:
    if (car == tot) { 
    _root.play ();
    }

    Per il resto, rimane valido lo stratagemma che usa la visibilità; la otterremo tramite la proprietà "alpha".

    - Anche mc e mc2 vanno messi nel primo frame della scena principale quindi, quello che ora sta nel frame 201 va eliminato, comprese le istruzioni che caricano il suo file esterno). Metterai mc2 in un nuovo livello tutto per sé, e a cui, per comodità, darai il nome: layer mc2.
    Ora, spostati nel frame 201 del livello layer mc2, puntalo col destro e scegli: Inserisci fotoframma chiave. Selezionalo di nuovo (parlo del keyFrame appena creato), apri il pannello Azioni e scrivi:

    codice:
    stop ();
    _root.mc2._alpha = 100; //soltanto qui, nel frame 201, il contenuto di mc2 sarà visibile.
    loadMovie("secondoswf.swf", "_root.mc2");
    Significa che il contenuto di mc2 sarà visibile soltanto quando l'utente andrà nel frame n° 201, ma non durante i 200 frame precedenti. Il nuovo caricamento attingerà direttamente alla cache e quindi vedrai secondoswf immediatamente, e dal suo inizio. Se tu non lo caricassi una seconda volta, l'animazione di secondoswf.swf sarebbe sicuramente al suo frame finale oppure, nel caso si trattasse di un'animazione in "loop", comparirebbe a partire da un frame intermedio.

    Se non dovesse funzionare al primo colpo, rivedi il tutto, passo per passo, perché ti assicuro che questo metodo funziona.
    A volte la diplomazia va condita con un pizzico di siluri fotonici. (K. Janeway)

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.