Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    Preload per jpg esterne

    Ciao!
    Ho dato un'occhiata a molte discussioni presenti sull'argomento ma... nulla.

    Ho trovato questo codice che molto semplicemente permette di caricare una jpg (per esempio come sfondo di uno stage). Funziona tutto alla perfezione ma vorrei che insieme all'esistente preload di tutto il movie ci fosse anche un preload della singola immagine.
    Da quanto ho capito è un "problema" normale dovuto alla pesantezza dell'immagine che giustamente il preload generale non calcola.
    Come posso fare?
    Grazie.
    "La verità sarà sempre una bugia."

  2. #2
    come e dove la carichi l'immagine ??? poi ti passo il codice

  3. #3
    Praticamente creo un mc vuoto di nome mc_sfondo e lo posiziono all'interno dello stage.
    Incollo ad frame questo codice:

    Codice PHP:
    _global.smoothImageLoad = function(imgURLtargetMovie) {
        var 
    i=0
        
    do { i++ } while (eval("_root.smoothImageLoadTemp"+i) != undefined)
        
    tmc _root.createEmptyMovieClip("smoothImageLoadTemp"+i_root.getNextHighestDepth())
        
    tmc.createEmptyMovieClip("ti"tmc.getNextHighestDepth())
        
    tmc.tm targetMovie
        with
    (tmc) {
            
    tmcl = new MovieClipLoader()
            
    tmcl.onLoadComplete = function() {
                
    ti.onEnterFrame = function() {
                    
    pixelData = new flash.display.BitmapData(ti._widthti._height);
                    
    pixelData.draw(ti);
                    
    tm.attachBitmap(pixelData1truetrue);
                    
    tm.smoothImageLoadComplete()
                    
    removeMovieClip(ti._parent)
                }
            }
            
    tmcl.loadClip(imgURLtmc.ti)
        }
    }

    mc_sfondo.smoothImageLoadComplete = function() {
        
    //trace("yeah baby yeah!!!")
    }

    smoothImageLoad("images/content.jpg"mc_sfondo)
    stop(); 
    Tutto qui...
    "La verità sarà sempre una bugia."

  4. #4
    non ho modo di provare il tuo codice ...quindi ti posto un codice che sicuramente funziona

    Codice PHP:
    this.createEmptyMovieClip("mc_sfondo"this.getNextHighestDepth())
    mc_sfondo._x=0
    mc_sfondo
    ._y=0
    mc_sfondo
    .createEmptyMovieClip("img"1)
    mc_sfondo.img.loadMovie("images/sfondo.jpg")
    mc_sfondo.img._alpha=0
    mc_sfondo
    .onEnterFrame=function(){
         
    car=this.img.getBytesLoaded()
         
    tot=this.img.getBytesTotal()
         
    // inserisci le animazioni che vuoi
         
    if(car==tot && car >1024){
                
    // fine preload
                // immagine caricata
                
    this.img._alpha=100
                delete this
    .onEnterFrame
        
    }


  5. #5
    Ah grazie.
    E questo quindi lo mando in esecuzione insieme al preload generale.
    Non sono proprio un asso... per aggiungerci una barra di avanzamento?
    "La verità sarà sempre una bugia."

  6. #6
    Si grazie davvero. Funziona!
    Io cmq che gestisce un preload. Se volessi estrapolare la percentuale o una barra di avanzamento...? Puoi aiutarmi?
    Grazie.
    "La verità sarà sempre una bugia."

  7. #7
    Codice PHP:
    this.createEmptyMovieClip("mc_sfondo"this.getNextHighestDepth()) 
    mc_sfondo._x=
    mc_sfondo
    ._y=
    mc_sfondo
    .createEmptyMovieClip("img"1
    mc_sfondo.img.loadMovie("images/sfondo.jpg"
    mc_sfondo.img._alpha=
    mc_sfondo
    .onEnterFrame=function(){ 
         
    car=this.img.getBytesLoaded() 
         
    tot=this.img.getBytesTotal()
         
    perc =car/tot*100
         this
    .createTextField("info",2,0,0,100,20)
         
    this.info.text="Bytes "+car+" di "+tot+" | "+perc+" %"
         
    this.attachMovie("barra""barra",3)
         
    this.barra._xscale=perc
         this
    .barra._y=30
            
    if(car==tot && car >1024){ 
                
    // fine preload 
                // immagine caricata
                
    this.barra.removeMovieClip()
                
    this.info.text="" // oppure elimina pure il campo 
                
    this.img._alpha=100 
                delete this
    .onEnterFrame 
        


    prova così

  8. #8
    Grazie davvero!
    Grazie ai tuoi esempi ho compreso il discorso del caricamento e del preload...
    C'è una cosa però che non riesco a comprendere e che vedo in altri siti.
    Praticamente vedo sempre 2 preload... uno generale al movie, l'altro solo per l'immagine...
    come fanno ad interagire? scusa se mi spiego così ma penso sia il modo + semplice "praticamente l'uno aspetta l'altro" e quando sono al 100% entrambi procedono nel movie.
    Adesso io per esempio mi ritrovo due preload indipendenti... ma credo che non sia la strada giusta...
    perchè entrambi gestiscono il discorso dell' "IF caricamento = 100%" e proseguono e quindi la foto mi carica sempre in ritardo...
    Come posso risolvere?
    "La verità sarà sempre una bugia."

  9. #9
    Allora ho pensato di prendere quest'altra strada.
    Ho eliminato il preloader "principale" lasciando quello della sola immagine di sfondo. una volta caricata l'immagine farò caricare poi i vari swf...
    Intanto però non la carica realmente... nel senso che la percentuale non và in progressione e dopo un pò appare una schermata nera che dovrebbe essere la ftoo già caricata ma che intanto sta caricando ancora...

    Sicuramente ho sbagliato qualcosa...
    Scusa l'ingnoranza: il campo di testo dinamico deve avere come valore 'info'?
    o posso scegliere anche solo 'perc'?
    Cmq sia non carica...
    "La verità sarà sempre una bugia."

  10. #10
    info è il nome della istanza del campo, puoi mettere pluto,pippo...........

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.