Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2003
    Messaggi
    63

    [MX] Riproduzione ciclica swf esterni

    Avrei un elenco di file swf da riprodurre sequenzialmente secondo l'ordine stabilito in un file xml.
    Sono partito dal tutorial su:
    http://flash-mx.html.it/tutorial/vie...?idtutorial=18

    Ma nel suddetto tutorial permette la riproduzione random dei filmati cliccando su un pulsante (crea una funzione loadRandom), però a me interessa che, finito un filmato, vada a prendere il successivo e, giunto alla fine della lista del file xml, ricominci dall'inizio. Ovviamente non posso modificare i file swf esterni (nel senso che me li forniscono e non sono io a crearli)... C'è qualche tutorial o actionscript già visto che posso utilizzare? Purtroppo è la prima volta che uso movie esterni :P

  2. #2
    Secondo me questo tuo problema va analizzato bene nel senso che dovresti conoscere a priori

    1) nei filmati esterni ci sono dei riferimenti diretti alla _root
    Questa informazione di permette di scegliere a priori se caricarli in un clip target o su un livello (loadMovie o loadMovieNum)

    2) la nomenclatura degli swf esterni
    Questa informazione può esserti utile per creare ad esempio un automatismo

    3) la lunghezza delle Frame (sempre uguale o differente)
    Questo ci permette di sapere quando chiamre il successivo, diversamente dovremmo ricavarlo tramite _totalFrames

    4) Personalmente non conosco XML, quindi il mio eventuale aiuto si basa su una serie di informazioni necessarie a priori.

    IndiceProgressino = 1
    Indice Max = (numero di file swf)

    NomeSWF = "prefix"+IndiceProgressivo

    NumeroFrameSwf = this._totaleFrames

    Una volta che hai questo tipo di informazioni puoi
    caricarti l'swf esterno
    attendere il preload di un esterno
    attendere che l'swf sia arrivato all'ultima frame
    (this._currentframe == this._totalframes)
    controllare che sia <= di IndiceMax
    incrementare IndiceProgressino += 1
    altrimenti impostare IndiceProgressino = 1

    procedere al caricamento dell'swf


    Spero di essere stato chiaro

    Ciao

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2003
    Messaggi
    63
    Ho capito la logica, ma dove devo usare "(this._currentframe == this._totalframes)"? Se lo metto dove c'è il clip filmato non fa nulla.

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2003
    Messaggi
    63
    Ma avendo un certo numero di clip da riprodurre sequenzialmente all'infinito, non si potrebbe fare in modo di andare a creare un unico clip filmato che concatena tutti quelli che vado a caricare?

    Per esempio, se ho i file 1.swf, 2.swf e 3.swf, non si può fare in modo che il clip filmato li contenga tutti e 3, al posto di fare prima il primo e poi gli altri? Che sonno...

  5. #5
    tenere separati gli swf alleggerisce la struttura alrimenti se devi fare un cd puoi anche fare un singolo swf da 700 MByte.

    Ciao

  6. #6
    Riutilizzo e rielaboro la risposta di Rempox per risponderti. Prima però ti premetto che il codice di Rempox si riferiva sicuramente ad un filmato principale che gestiva i filmati esterni da caricare.. quindi come hai detto te un filmato che concatena tutti gli altri, almeno io credo che volesse intenderla in questa maniera. Ora passo alla mia elaborazione.


    FILMATO PRINCIPALE AS:
    codice:
    var indiceSWF = 0;
    var listaSWF = new array();
    
    //=======================
    //EDITA QUA LA LISTA DEI CLIP
    //OPPURE USA LE TUE FUNZIONI PER CATTURARLA DALL'XML
    //=======================
    listaSWF[0] = "URL_FILMATO_1.swf";
    listaSWF[1] = "URL_FILMATO_2.swf";
    listaSWF[2] = "URL_FILMATO_3.swf";
    listaSWF[3] = "URL_FILMATO_4.swf";
    listaSWF[4] = "URL_FILMATO_5.swf";
    listaSWF[5] = "URL_FILMATO_6.swf";
    //=======================
    
    var MAXindiceSWF = listaSWF.length;
    
    //CREIAMO UN CLIP IN ASCOLTO PER CONTROLLARE CHE I CLIP CARICATI
    //VADANO FINO IN FONDO PRIMA DI FAR CARICARE IL SUCCESSIVO
    _root.createEmptyMovieClip("handlerSWF",9999);
    _root.handlerSWF.onEnterFrame = function () {
       MC = _root.tuoclip //EDITA QUA IL NOME DEL CLIP
       if (MC._currentframe == MC._totalframes) {
          MC.loadMovie(listaSWF[indiceSWF]);
          indiceSWF++;
          if (indiceSWF==MAXindiceSWF) indiceSWF = 0;
       }
    }
    non l'ho testato... quindi se non funza avrò dimenticato qualche ; , " ecc...ecc.... ho scritto qualche scemenza

  7. #7
    Esatto è quello che avrei +/- fatto io, ma non avrei mai caricato i vari swf in uno unico (se è questo che intendeva il nostro amico)

    probabilmente non conoscendo XML avrei inserito l'elenco in un TXT.

    Ciao plat

  8. #8
    Originariamente inviato da rempox
    Esatto è quello che avrei +/- fatto io, ma non avrei mai caricato i vari swf in uno unico (se è questo che intendeva il nostro amico)
    ma tu per caricarlo intendi dire... pubblicarlo insieme in unico file? Perchè forse non ho capito io.

    probabilmente non conoscendo XML avrei inserito l'elenco in un TXT.
    a me NON piace proprio XML : ci si mette più tempo a creare un parser che il tempo ad aprire (ogni volta) un FLA e ripubblicarlo cambiate le variabili (che metto sempre all'inizio del codice).
    Se proprio le modifiche sono frequenti va meglio un bel TXT come hai detto tu.

    Ciao rempox, vado a nanna

  9. #9
    Utente di HTML.it
    Registrato dal
    Mar 2003
    Messaggi
    63
    E' più semplice con un file txt? E come si fa?
    Sono troppo newbie di actionscript..

    P.S. Grazie per le info, intanto vedrò di elaborare quanto avete scritto sopra

  10. #10
    Utente di HTML.it
    Registrato dal
    Mar 2003
    Messaggi
    63
    Perfetto Platone! Quello script va benissimo

    Io mi ero perso di casa con il template che usa XML. Adesso cerco qualcosa per caricare i file da txt (o se vi capita sotto mano fatemi un fischio ).

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.