Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    6

    array di immagini precaricate

    Salve a tutti, aiutatemi!
    ho bisogno di precaricare una serie ( variabile ) di immagini in un array per poi piazzarle al posto di un unico Clip a run-time ( il mio visualizzatore ).
    Sto impazzendo. Se possibile siate precisi nelle risposte, non sono un espertissimo "flashista".
    Grazie

  2. #2
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    dovresti spiegarti un pochino meglio hai bisogno che le immagini siano già state caricate prima di mandarle in esecuzione in questo unico filmato?

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    6
    Grazie della risposta. Mi spiego meglio:
    In pratica ho creato un oggetto ( supponiamo si chiami visualizzatore ) in Flash8 che è un movieclip ( inizialmente ricavato da un rettangolo trasformato in movieclip ).
    Attualmente, a Run-Time, viene invocato il metodo:

    visualizzatore.loadMovie(PERCORSO)

    dove PERCORSO è una variabile che viene passata volta per volta ( in pratica è il contenuto di un array di stringhe, e quindi "Immagine1.png", "Immagine2.png" etc )

    Per es. sul click di un pulsante c'è il seguente codice:

    Indice++;
    visualizzatore.loadMovie(Array[Indice]);

    e su un altro

    Indice--;
    visualizzatore.loadMovie(Array[Indice]);

    funziona bene se non fosse che il tempo di caricamento è - nel mio caso - antiestetico.

    Avrei invece bisogno di una cosa del genere:

    1) intanto di un Array di Movieclip ( e non di stringhe ) in cui ho precaricato le mie immagini;
    2) quindi di un metodo che anzichè caricare nel visualizzatore ex novo l'immagine con loadMovie, la "copi" dal movieclip nell'array ( se fosse possibile lavorare tipo con dei puntatori sarebbe l'ottimo ).
    In questo modo non avrei tempi di latenza a parte il tempo di precaricamente una tantum delle immagini.

    Il fatto è che se chiamo la duplicateMovieClip crea un'istanza nuova, e perdo posizione depth del visualizzatore ( che ovviamente è inserito in un contesto complesso della scena ).

    Aiutami!!!!!!!!!

  4. #4
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    il modo potrebbe anche andare, ma non pensare che il caricamento sarebbe meno pesante, considera che le immagini verrebbero scaricate tutte insieme e che quindi verrebbe occupata una quantità maggiore di banda in un tempo più ristretto, quindi con possibile rallentamento del filmato e della velocità di navigazione,
    è un compromesso che preferiresti a questo?

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    6
    si. ma quindi esiste un modo per farlo?
    e come?

  6. #6
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    hai il tuo array di immagini,
    fai un ciclo in cui crei una serie di clip vuoti, tanti quante sono le immagini da caricare
    posizioni tutti i clip nella stessa "zona"
    carichi le immagini con un preload invisibile e al suo termine rendi invisibili tutti i clip
    ai pulsanti spetta il compito di scorrere le immagini, ma non nel modo descritto in precedenza, semplicemente loro, in base allo stesso array, renderanno visibili o invisibili i clip all'occorrenza, svelando solo l'immagine del momento

    non ho avuto il tempo di testare il codice, adattalo e vedi un po' se funziona

    Codice PHP:
    var arrayImg:Array = new Array("img1.png""img2.png""img3.png""img4.png");

    var 
    mclo:MovieClipLoader = new MovieClipLoader();
    var 
    mcli:Object = new Object();
    mcli.onLoadInit = function(mc_target:MovieClip){
        
    mc_target._alpha 0;
    }
    mclo.addListener(mcli);

    for (var 
    0iarrayImg.lengthi++){
        var 
    l:Number i+1;
        var 
    mc this.createEmptyMovieClip(arrayImg[i].split(".")[0], l);
        
    mclo.loadClip(arrayImg[i], mc);
    }

    var 
    turnImage:Function = function(index:Number) {
        for (var 
    0iarrayImg.lengthi++){
            var 
    mc this[arrayImg[i].split(".")[0]];
            
    mc._alpha = (mc._name != arrayImg[index].split(".")[0]) ? 100 0;
        }
    }
    var 
    index:Number 0;
    turnImage(index);

    avanti.onRelease = function(){
        (
    index <= arrayImg.length-1) ? turnImage(index++): null;
    }
    indietro.onRelease = function(){
        (
    index >= 0) ? turnImage(index--): null;


  7. #7
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    6
    grazie ma in questo modo non SOSTITUISCO l'oggetto, lo faccio sparire.
    Cmq dai un occhio al mio flash ( per ora ti do l'indirizzo del sito dove puoi vederlo )


    http://www.datalog.it/html/menu_home...ax&gotoFrame=2

    clicca su Depliant Turbotax più o meno al centro ( spostato verso l'alto ) della pagina.
    Capirai perchè non posso adattare il tuo codice

  8. #8
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    non hai la necessità di sostituirlo... comunque nel mentre ho testato ed aggiustato alcune cose

    Codice PHP:
    var arrayImg:Array = new Array("img1.jpg""img2.jpg""img3.jpg""img4.jpg");
    var 
    mclo:MovieClipLoader = new MovieClipLoader();
    var 
    mcli:Object = new Object();
    mcli.onLoadInit = function(mc_target:MovieClip) {
        
    mc_target._y 20;
        
    mc_target._alpha 0;
        
    turnImage(index);
    };
    mclo.addListener(mcli);
    for (var 
    0i<arrayImg.lengthi++) {
        var 
    l:Number i+1;
        var 
    mc this.createEmptyMovieClip(arrayImg[i].split(".")[0], l);
        
    mclo.loadClip(arrayImg[i], mc);
    }
    var 
    turnImage:Function = function (index:Number) {
        for (var 
    0i<arrayImg.lengthi++) {
            var 
    mc this[arrayImg[i].split(".")[0]];
            
    mc._alpha = (mc._name != arrayImg[index].split(".")[0]) ? 100;
            (
    mc._name != arrayImg[index].split(".")[0]) ? null trace(mc._name);
        }
    };
    var 
    index:Number 0;
    avanti.onRelease = function() {
        if (
    index<arrayImg.length-1) {
            
    index++;
            
    turnImage(index);
        }
    };
    indietro.onRelease = function() {
        if (
    index>0) {
            
    index--;
            
    turnImage(index);
        }
    }; 

  9. #9
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    6
    ho bisogno invece. dai un occhio al link.
    Il fatto è che ho 4 pagine ( ognuna è una specie di visualizzatore ).
    queste pagine in base a cosa sto visualizzando devono puntare all'immagine corretta

  10. #10
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Originariamente inviato da xale76
    Capirai perchè non posso adattare il tuo codice
    sinceramente non l'ho capito comunque se preferisci dare la parvenza del libro che si sfoglia, puoi usare il pageflip, è famoso ed è gratuito nella sua versione statica (con i clip che si caricano dalla libreria... così ti levi completamente il pensiero dei caricamenti e qualsiasi altro problema legato a questo particolare tipo di gestione

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.