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

    loadmovie e gestione variabili

    Ciao a tutti
    Scusate, ma anche leggendo i post già presenti non riesco a risolvere il mio problema che in realtà credo sia dovuto più che altro a inesperienza

    Dunque...ho:

    1. un clip generico che ne carica un altro
    2. il clip che viene caricato che deve generare dinamicamente dei movie
    3. un terzo clip che nel precedente dovrebbe:
    - caricare un immagine
    - calcolarne la larghezza
    - renderla disponibile el clip contenitore che deve creare i clip multipli con quella larghezza


    Ho fatto diverse prove tra cui

    _global.larghezza_thumbnails=0;

    mm.foto.loadMovie("1.jpg");
    mm.onEnterFrame=function(){
    if( this.foto.getBytesLoaded() == this.foto.getBytesTotal()){
    larghezza_thumbnails=this.foto._width;
    }
    }
    trace(larghezza_thumbnails);


    ovviamente stampa 0, probabilmente perchè entra nella funzione successivamente...ma a questo punto come posso passare il valore dalla variabile all'esterno? Ho provato mettendola in _root o in un altro clip ma nulla. Ovviamente se faccio il trace all'interno della funzione il valore viene recuperato! :master:

    Grazie in anticipo

    Daria
    Realizzazione siti web
    ____________________________
    how terrible thing is knowledge when it brings no profit to the wise...

  2. #2
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    la verifica così come l'hai fatta è inaffidabile, spiego...

    in pratica esiste un esiguo stacco di tempo tra il momento in cui il file esterno è effettivamente caricato nel clip o nel livello, e il momento in cui questo elemento esterno, e le sue caratteristiche, sono disponibili nel filmato in cui si carica

    in Flash MX 2004 è stata introdotta una classe che grazie ad una serie di metodi, può verificare con esattezza il momento in cui il file esterno è stato effettivamente caricato, e quindi se ne possono sfruttare le proprietà ad esempio per i calcoli di posizione come nel tuo caso

    la classe è MovieClipLoader, ne trovi una breve descrizione in uno degli articoli che ho linkato in firma, e trovi diverse discussioni al riguardo anche su questo forum, cercando con chiave "moviecliploader"

  3. #3
    Ok ti ringrazio.

    Quindi facendo la stessa cosa ma usando il loader dovrei poter assegnare il valore alla variabile globale senza problemi?

    Ci provo immediatamente!

    Realizzazione siti web
    ____________________________
    how terrible thing is knowledge when it brings no profit to the wise...

  4. #4
    facendo così

    _global.larghezza_thumbnails=0;

    var myLoadedMovie:MovieClipLoader = new MovieClipLoader();
    var MovieListner:Object = new Object();

    MovieListner.onLoadComplete = function (target_mc) {
    larghezza_thumbnails =target_mc._width;
    trace(target_mc._width); }

    myLoadedMovie.addListener(MovieListner);
    this.createEmptyMovieClip("myMove", 10);
    myLoadedMovie.loadClip("1.jpg", this["myMove"]);

    trace(larghezza_thumbnails);


    ottengo comunque i due output a zero

    non ho idee...

    come sempre grazie in anticipo dell'aiuto

    aggiunta:

    con il loadInit ritrovo in effetti il valore, ma non riesco a settare la variabile globale e a renderla disponibile agli altri movie che carico!

    grazie
    Realizzazione siti web
    ____________________________
    how terrible thing is knowledge when it brings no profit to the wise...

  5. #5
    Utente di HTML.it L'avatar di byaur
    Registrato dal
    Aug 2004
    Messaggi
    1,061
    se dichiari la variabile _global.larghezza perchè dentro il listener, quando vai assegnare a questa variabile il valore, non ci rimetti _global.larghezza ????

    Chi di noi non vorrebbe
    sollevare il velo sotto cui sta nascosto il
    futuro...
    David Hilbert

  6. #6
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    devi usare onLoadInit al posto di onLoadComplete

  7. #7
    ciao!
    and80 scusa mi ero già accorta infatti ho fatto l'aggiunta al post

    byaur ottima domanda, perchè non sapevo di doverla richiamare così

    ad ogni modo ho tentato con entrambe le modifiche ma non arrivo a una soluzione.

    forse l'errore sta nel ridimensionamento a questo punto, che faccio con

    mc._width=larghezza_thumbnails;

    var container:MovieClip = mc;
    var ln:Number = (totalPages/2)+1;
    var duplicate:MovieClip;

    for(var i:Number = 1; i < (ln+1); i++) {
    duplicate = container.duplicateMovieClip("thumbnail-" + i, (20+i), {_y:newY,_x:newX});
    duplicate.destra.loadMovie(path_thumbnails+i+".jpg ");
    }


    dove mc è un filmato che ho già nello stage. Dunque ridimensiono quello e poi lo duplico...

    premetto che prima tutto funzionava, è da quando sto cercando di settare le dimensioni dinamicamente che ho problemi.

    grassie
    Realizzazione siti web
    ____________________________
    how terrible thing is knowledge when it brings no profit to the wise...

  8. #8
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    le azioni di ridimensionamento devono essere fatte dentro la stessa funzione onLoadInit per avere effetto... altrimenti lì dove le hai messe ( mi pare alla fine dell'altro codice) vengono lette prima che l'evento "onLoadInit" venga scatenato, con la conseguenza di andare a vuoto

  9. #9
    Utente di HTML.it L'avatar di byaur
    Registrato dal
    Aug 2004
    Messaggi
    1,061
    Originariamente inviato da and80
    le azioni di ridimensionamento devono essere fatte dentro la stessa funzione onLoadInit per avere effetto... altrimenti lì dove le hai messe ( mi pare alla fine dell'altro codice) vengono lette prima che l'evento "onLoadInit" venga scatenato, con la conseguenza di andare a vuoto
    quotando and, effettivamente c'è un problema di temporizzazione, potresti farti una funzione ridimensiona(){/*CODICE PER RIDIMENSIONARE*/} che invochi da dentro l'evento onLoadInit... ciauz!!!
    Chi di noi non vorrebbe
    sollevare il velo sotto cui sta nascosto il
    futuro...
    David Hilbert

  10. #10
    no in realtà le ho messe nella funzione.

    la funzione fa:

    - settaggio della variabile larghezza_thumbnails
    - ridimensionamento del clip
    - un play() che riconduce al secondo fotogramma dove c'è la parte di duplicazione

    ma è possibile che questo mc._width=larghezza_thumbnails non mi ridimensioni il filmato?

    non riesco a capire, magari ci sono funzioni più specifiche.

    Grazie dell'aiuto e mi spiace per lo sbattimento

    Daria
    Realizzazione siti web
    ____________________________
    how terrible thing is knowledge when it brings no profit to the wise...

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.