Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 19

Discussione: Load Image e resize

  1. #1

    Load Image e resize

    Salve a tutti, sono un novello del forum, ma premetto che ho fatto un ricerca estensiva per vedere se qualcuno aveva già risposto alla mia domanda senza ottenere risultati.

    Gli obbiettivi del mio flash sono:
    - caricare un immagine, il cui nome è specificato come parametro nella pagina HTML
    - visualizzare una barra di avanzamento per il preload dell'immagine
    - resizare il flash e pure la pagina HTML (è un popup) in modo da adattarsi perfettamente alle dimensioni dell'immagine.

    Con le mie scarse conoscienze di flash e qualche ricerchina su google sono riuscito a caricare un'immagine esterna in un movieclip. Sono riuscito a resizare il flash e la mia popup in base alle dimensioni dell'immagine (utilizzando chiamate javascript). Sono riuscito a visualizzare una barra di avanzamento adeguata in base alla dimensione dell'immagine.

    Il vero problema è che non riesco a mettere assieme tutti questi elementi. L'ultimo tassello che mi manca è il modo di generare l'evento "ho finito di caricare l'immagine", in modo che possa a quel punto richiamare i javascript che facciano i resize del caso.

    Qualcuno può aiutarmi ?? Che informazioni vi servono per meglio capire il mio problema ??

    PS: se può interessare ho provato a creare un "button" che conteneva la funzione di resize se lo premo manualmente quando il flash ha finito il caricamento tutto funziona. Vorrei che però questa funzione avvenisse automaticamente.

    GRAZIE!

  2. #2
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    la soluzione dipende da come hai caricato queste immagini, comunque in generale flash permette la gestione di eventi asincroni come appunto il compimento delle azioni a caricamento effettuato, ma ha bisogno di uno strumento, detto preload, perchè questo possa accadere
    a tal proposito flash dalla versione 7 ha introdotto una classe di verifica dei caricamenti, la classe MovieClipLoader, che tra le altre cose, può verificare l'avvenuto caricamento del file esterno ed eseguire delle azioni di conseguenza...

    per maggiori ragguagli, puoi dare un'occhiata a questo: http://www.v2online.it/articoli/moviecliploader.html

  3. #3
    Grazie del suggerimento. E'perfetto. Purtroppo mi sono impantanato sulla barra di caricamento. Non capisco cosa ho sbagliato, ma il testo che indica la percentuale viene aggiornato mentre la barretta no ... non capisco!

    C'è qualche particolare condizione da considerare per la proprietà '_xscale' quando viene utilizzata all'interno del listener ??

  4. #4
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    occhio che se non hai flash 8, ma flash 7, il listener del progresso non funziona bene in "Prova filmato", mentre va correttamente online... ma forse non è questo il tuo problema

    prova a postare il codice del "progresso"

  5. #5
    Ho provato anche online, ma non funziona solo la barra di avanzamento. Sembra quasi che l'oggetto "pBar" non sia definito. Ecco il codice del frame di "azione", se vuoi posso mandarti anche il flash tanto è di dimensione piccola:

    Codice PHP:
    var mcListener:Object = new Object();
    // disattivo il resize automatico
    Stage.scaleMode "noScale";
    Stage.align"tl";
    // Inizializzo barra e testo
    sStatus=0 add '%';
    setProperty("pBar",_xscale,0);
    // attivo il codice per il primo metodo
    mcListener.onLoadStart = function(target_mc:MovieClip) {
        
    // rendo invisibile l'mc che carica l'immagine
        
    target_mc._alpha 0;
    };
    // attivo il codice, che verrà richiamato di continuo per tutta la durata del caricamento
    // e che porterà nel codice la visualizzazione del caricamento che scorre
    mcListener.onLoadProgress = function(target_mc:MovieClipbytesLoaded:NumberbytesTotal:Number) {
        
    // creo una variabile che rappresenta il valore percentuale del caricamento
        
    var percentual:Number Math.floor((bytesLoaded/bytesTotal)*100);
        
    // ne assegno il valore alla scalaX della barra attaccata in precedenza
        
    pBar._xscale percentual;
        
    sStatus percentual add "%";
    };
    // attivo il codice dell'evento che avverte dell'avvenuto caricamento
    mcListener.onLoadComplete = function(target_mc:MovieClip) {
        
    // rendo nuovamente visibile l'mc che carica l'immagine
        
    target_mc._alpha 100;
        
    sStatus='COMPLETE';
        
    };
    // attivo l'ultimo metodo di caricamento, quello che permette di manipolare l'immagine con le sue dimensioni e proprietà effettive
    mcListener.onLoadInit = function(target_mc:MovieClip) {
        
    // traccio le dimensioni reali del clip in cui ho appena caricato l'immagine
        
    getURL("javascript:setFlashSize('flashid'," target_mc._width "," target_mc._height ");");
    };
    // attivo il metodo di errore, utile nel caso che l'immagine non esista
    mcListener.onLoadError = function(target_mc:MovieCliperrorCode:String) {
        
    // il secondo parametro può assumere due valori, "URLNotFound" o "LoadNeverCompleted".
        // grazie a questi due valori valutiamo l'errore con un if/else e tracciamo una conseguenza
        
    if (errorCode == "URLNotFound") {
            
    trace("Errore, l'immagine non è stata trovata, file sconosciuto");
        } else if (
    errorCode == "LoadNeverCompleted") {
            
    trace("Errore, caricamento interrotto, probabile sovraccarico del server, riprovare più tardi");
        } else {
            
    trace("Errore generico, il server non ha risposto in tempo, oppure l'immagine risulta danneggiata o non è un'immagine");
        }
    };
    //
    var mcLoader:MovieClipLoader = new MovieClipLoader();
    // "agganciamo" l'oggetto ascoltatore alla nostra istanza di MovieClipLoader
    mcLoader.addListener(mcListener);
    // Salvo il parametro esterno contenente il path dell'immagine
    _global.clip clip;
    // Carico l'immagine nel clip
    mcLoader.loadClip(clipmyClip); 
    Grazie ancora!!!

  6. #6
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    ho aggiunto la formattazione del codice nel tuo post, sempre meglio usarla sopratutto quando si scrive codice così lungo... ora lo leggo...

  7. #7
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    ho visto e sembra ok... ti sei ricordato di inserire il nome di istanza nel clip?
    se vuoi puoi mandarmi il fla, ma posso salvarlo solo per flash 8, perchè ho CS3... ti mando la mail in pvt... ora devo uscire però, vedrò stasera

  8. #8
    Up, non mi è arrivato nessuno MP. quando hai tempo ... GRAZIE!

  9. #9
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    :master: te l'ho mandata, magari si è persa per strada, rimando...

  10. #10
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    ho visto il file, per la barra l'unico errore è sul nome di istanza, ricorda che da alcune versioni il flash player è case sensitive e riconosce la differenza tra maiuscole e minuscole
    tu nel codice richiamavi pBar, mentre il nome di istanza era pbar

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.