Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1

    mantenere un clip per TOT secondi

    ciao a tutti,
    vorrei caricare un clip esterno, mantenerlo per alcuni secondi e poi passare ad un altro, invece di riempire fotogrammi per tutto il tempo che voglio far sostare il clip è possibile tramite actionscript ottenere questo risultato?

    grazie

  2. #2
    Utente di HTML.it L'avatar di Darcken
    Registrato dal
    Jun 2001
    Messaggi
    237
    as2 o as3?

  3. #3
    sono su flash 8 quindi suppongo as2

  4. #4
    Utente di HTML.it L'avatar di Darcken
    Registrato dal
    Jun 2001
    Messaggi
    237
    Da quello che ho capito vuoi fare una sorta di "slide" con degli swf esterni.

    In una cartella crea e salva un fla nuovo in cui metterai questo nel primo e unico fotogramma vuoto che hai:

    var listClip : Array = new Array ("clip1.swf", "clip2.swf", "clip3.swf");
    var indiceClip : Number = 0;

    function loadExternalClip()
    {
    if (indiceClip < listClip.length)
    {
    var container:MovieClip = createEmptyMovieClip("container", getNextHighestDepth());
    var mcLoader:MovieClipLoader = new MovieClipLoader();
    mcLoader.addListener(this);
    mcLoader.loadClip(listClip[indiceClip], container);

    indiceClip++;
    }
    else
    {
    clearInterval(intervalID);
    }
    }

    var intervalID = setInterval(this, "loadExternalClip", 1000);


    Poi crea altri 3 file flash che chiamerai: clip1.fla, clip2.fla, clip3.fla
    Compila tutti i clip e lancia il file in cui hai messo il codice

    per prova magari dentro ai vari clip fai un cerchio di colore diverso.

    Spero di aver capito quello che intendevi

  5. #5
    si è una slide show di swf...

    però il problema è che devo applicare il ritardo sugli swf e no su un file che li richiama, almeno credo..

    attualmente carico gli swf in maniera random tramite..

    ---------------------------------------
    n = random(3);
    loadMovieNum("shared/" + n + ".swf", 2);
    ---------------------------------------

    quello che voglio fare è...

    1) carico il file random
    2) l'swf random mi prende il clip a caso
    3) il clip a caso viene caricato e dura tot secondi
    4) dopo tot secondi rilancio 'random'
    5) mi riparte un altro clip

    così all'infinito...

    spero di non averti creato confusione

    quello che dovrei riuscire a fare è mettere il ritardo nel singolo clip, scaduto il ritardo mi richiama il random.

  6. #6
    Utente di HTML.it L'avatar di Darcken
    Registrato dal
    Jun 2001
    Messaggi
    237
    ho capito, i vari clip sono concatenati in libreria? che nomi hanno?

  7. #7
    cosa intendi per contatenati?

    sono chiamati da 0 a (numero clip), esempio 0.swf, 1.swf, 2.swf ecc ecc

    grazie comunque per la pazienza

  8. #8
    Utente di HTML.it L'avatar di Darcken
    Registrato dal
    Jun 2001
    Messaggi
    237
    quindi l'esempio di prima andava bene, manca solo il fatto che non lo fa in modo "random"

    var listClip : Array = new Array ("clip1.swf", "clip2.swf", "clip3.swf");
    var indiceClip : Number;

    function loadExternalClip()
    {
    indiceClip = random(listClip.length);

    var container:MovieClip = createEmptyMovieClip("container", getNextHighestDepth());
    var mcLoader:MovieClipLoader = new MovieClipLoader();
    mcLoader.addListener(this);
    mcLoader.loadClip(listClip[indiceClip], container);
    }

    var intervalID = setInterval(this, "loadExternalClip", 2000);


    il tempo lo puoi cambiare nell'ultima riga, 2000 significa che tieni 2 secondi di attesa, ma lo puoi impostare a tuo piacimento

  9. #9
    Utente di HTML.it L'avatar di Darcken
    Registrato dal
    Jun 2001
    Messaggi
    237
    volendo puoi elimiare l'array facendo cosi':

    function loadExternalClip()
    {
    var indiceClip : Number = random(3);

    var container:MovieClip = createEmptyMovieClip("container", getNextHighestDepth());
    var mcLoader:MovieClipLoader = new MovieClipLoader();
    mcLoader.addListener(this);
    mcLoader.loadClip(indiceClip+".swf", container);
    }

    var intervalID = setInterval(this, "loadExternalClip", 2000);

  10. #10
    sono quasi riuscito ad adattare il tuo codice...

    solo che ora sorge un altro problema, ma sono sicuro che questo non si risolve

    attualmente sto caricando gli swf sul livello 2, quando scadono i secondi che ho settato lo sto facendo ricaricare sul livello 2, l'ideale sarebbe farlo caricare sul livello 3, per evitare che si veda lo sfondo bianco, però dal momento che sono random cosa succede... parto dal livello 2, scatta la seconda e va al livello 3, scatta la terza e va al livello 4 ecc ecc..

    chiaramente non è possibile che succeda questo....

    è possibile sovrapporre i livelli successivi senza lasciare vuoto per pochi secondi lo sfondo?

    spero di essermi spiegato e grazie ancora per la disponibilità

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.