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

    Problema con preload e sua dissolvenza [problema di livelli proobabilmente]

    Ho un mc istanzato "preload" che rappresenta una barra di avanzamento di caricamento del preload inziale di un filmato.
    Il preload contiene un altro mc istanzato "barra" che rappresenta la barra di avanzamento. Il valore di larghezza che deve assumere il mc "barra" perchè coincida con il 100% del caricamento, dato in valore numerico dalla variabile "perc" è di 340.
    Ho messo questo codice sul mc preload:
    Codice PHP:
    onClipEvent (enterFrame) {
          
    /*movimento fluido per la barra di caricamento*/
        
    larghezza = (_root.preload.barra._width-(340*_root.perc/100))/5;
        
    _root.preload.barra._width -= larghezza;
          
    /*se la barra è alla giusta lunghezza e la percentuale
          di caricamento è al 100% fai svanire il mc preload con
          una dissolvenza*/
        
    if (_root.preload.barra._width>=335 && _root.perc==100) {
            
    scala_y= (this._yscale-0)/100;
            
    scala_x= (this._xscale-0)/100;
            
    alpha= (this._alpha-0)/10;
            
    this._yscale -= scala_y;
            
    this._xscale -= scala_x;
            
    this._alpha -= alpha;
          
    /*imponi anche che dopo un secondo venga riprodotto il filmato*/
            
    id_intervallo setInterval(function () {
                
    _root.gotoAndStop(3);
                
    clearInterval(id_intervallo);
            }, 
    1000);
        }

    Risultato? La barra non si muove. Mi chiedo perchè diavolo faccia così...
    Ho provato a tracciare la variabile _root.perc e funziona bene.

  2. #2
    codice:
    preload.barra._xscale=0
    
    _level0.onEnterFrame=function(){
            car=this.getBytesLoaded()
            tot=this.getBytesTotal()
            perc=Mat.round(car/tot*100)
            preload.barra._xscale=perc
            if(car==tot && car >1024){
              // caricamento avvenuto
                 preload.barra._alpha=100
                 preload.barra.onEnterFrame=function(){
                    if(this._alpha>0){this._alpha-=10}
                    else{delete this.onEnterFrame}
                 }
                 delete this.onEnterFrame
            }
    }

  3. #3
    Grazie mille ma ha modificato non poco lo script.
    Scusa ma non mi accontento di copiare e incollare... vorrei capire perchè il mio non funziona... da cosa dici che può dipendere?
    La variabile _root.perc funziona e anche lo script

    larghezza = (_root.preload.barra._width-(340*_root.perc/100))/5;
    _root.preload.barra._width -= larghezza;

    in quanto se lo applico (modificandolo opportunamente) direttamente al mc barra e con un valore diverso dalla variabile "perc" lo fa funzionare bene...

  4. #4
    Basta io ci rinuncio... ho provato tutto quello che era nelle mie capacità. C'è qualcuno che vuole gli passi il file per vederlo? Sennò butto tutto.

  5. #5

    Re: Problema con preload e sua dissolvenza [problema di livelli proobabilmente]

    Originariamente inviato da Edward Becket
    Risultato? La barra non si muove. Mi chiedo perchè diavolo faccia così...
    Ho provato a tracciare la variabile _root.perc e funziona bene.
    ..perchè l'if è sbagliato.
    quella condizione, se si verifica, si verifica solo alla fine
    quando ormai tutto è caricato (...&& _root.perc==100).
    Quindi niente allungamento e niente dissolvenza.
    dementia

    grazie Eönwë per il nuovo avatar

  6. #6
    ma l'if infatti fa dissolvere il movieclip del preload prima di passare al filmato.
    Sono le due righe sopra che fanno muovere la barra di progresso in modo fluido:

    larghezza = (_root.preload.barra._width-(340*_root.perc/100))/5;
    _root.preload.barra._width -= larghezza;

    E si trovano dentro l'onClipEvent (enterFrame)... ma è come se non dessi alcun comando.

  7. #7
    fai
    trace (_root.preload.barra._width -= larghezza).
    cosa restituisce?
    dementia

    grazie Eönwë per il nuovo avatar

  8. #8
    Se riguardi il codice che ti ho postato, riuscirai a vedere che non mi vado ad incasinare:

    se la barra ha raggiunto la lunghezza allora il preload è terminato
    ma semplicemente

    la barra ha la dimensione percentuale dello stato di avanzamento del preload, se il preload è terminato la barra ha raggiunto la sua larghezza 100%, indipendentemente dalla sua dimesione di _width
    il controllo è relativo al preload non alla barra.
    PS.
    Capisco che non vuoi copiare ed incollare ma .....talvolta si percorre la strada sterrata quando vicino invece c'è una bella pista ciclabile.

  9. #9
    Si si hai ragione hai perfettamente ragione. Il problema è che per questioni mie non posso usare la proprietà x_sclae ma DEVO usare width per la barra. Eppoi io come condizione dell'if non ho imposto solo la variabile "perc=100" ma ho messo anche "&& barra.width>=340" perchè il movimento della barra è "rallentato da un effetto decelrazione che la rende fluida e vorrei che il filmato partisse quando la barra è effettivamente arrivata alla fine e non prima. Con l'effetto decelerazione che imprimo ala barra potrebbe infatti succedere che il filmato è caricato al 00% ma la barra non è ancora completa.

  10. #10
    Ok vedi se così ti va bene
    codice:
    stop()
    preload.barra._width=0
    
    _level0.onEnterFrame=function(){
            car=this.getBytesLoaded()
            tot=this.getBytesTotal()
            perc=Math.round(car/tot*100)
    		
    		X=340 - preload.barra._width
    		preload.barra._width+=X/perc        
            if(car==tot && car >1024){
              // caricamento avvenuto
                 preload.barra._alpha=100
                 preload.barra.onEnterFrame=function(){
                    if(this._alpha>0){this._alpha-=10}
                    else{delete this.onEnterFrame}
                 }
                 delete this.onEnterFrame
            }
    }

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.