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

    preload: a ogni "tot%" va in alpha un movieclip

    Ciao ragazzi!
    ho un problemino...

    allora, ho fatto un movie in cui viene caricato un filmato abbastanza pesante sui 500 kb.
    ho messo un preloading ovviamente.. pero' NON FUNZIONA!
    io uso flash cs3 con as 2.0.
    di seguito posto il codice:

    1 frame:
    codice:
    percentage = 1;
    total_frames = getProperty( _root, _totalframes);
    loaded = 3;
    // Making our "filling" MC's invisble...
    setProperty("_root.fill1", _alpha, 100);
    setProperty("_root.fill2", _alpha, 0);
    setProperty("_root.fill3", _alpha, 0);
    setProperty("_root.fill4", _alpha, 0);
    setProperty("_root.fill5", _alpha, 0);
    setProperty("_root.fill6", _alpha, 0);
    fscommand("allowscale", "false");

    2 frame:
    codice:
    if (Number(percentage)>=100) {
    	gotoAndPlay("start of movie");
    }
    3 frame:
    codice:
    ifFrameLoaded (loaded) {
    	percentage = int((loaded*100)/total_frames);
    	sStatus = percentage+"%";
    	loaded = Number(loaded)+1;
    	}
    // Making "filling" MC's visible or not according to the percentage value...
    if (Number(percentage) == 15) {
    	setProperty("_root.fill1", _alpha, 0);
    }
    if (Number(percentage) == 15) {
    	setProperty("_root.fill2", _alpha, 100);
    }
    if (Number(percentage) == 30) {
    	setProperty("_root.fill2", _alpha, 100);
    }
    if (Number(percentage) == 45) {
    	setProperty("_root.fill3", _alpha, 100);
    }
    if (Number(percentage) == 65) {
    	setProperty("_root.fill4", _alpha, 100);
    }
    if (Number(percentage) == 75) {
    	setProperty("_root.fill5", _alpha, 100);
    }
    if (Number(percentage) == 90) {
    	setProperty("_root.fill6", _alpha, 100);
    }
    4 frame:
    gotoAndPlay(2);

    dove sbaglio??
    in pratica si vede per un momento FILL1 e poi va avanti senza fare il preload, per cui si vede il filmato che va a scatti finche' non viene completamente caricato... HELP!

  2. #2
    ...che poi la cosa che non capisco e' che se provo il filmato da flash, il preload funza.. se lo metto online NO...

  3. #3
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    a occhio direi che è il caso di aggiornare ad AS2 il preload, altrimenti è perfettamente inutile pubblicare per il player 9 e per AS2
    considera che setProperty e getProperty sono obsoleti da anni a favore della sintassi del punto, che ifFrameLoaded si usava con flash 4, quando si usava caricare il filmato ancora verificando il caricamento dei frame e non la dimensione del filmato, considera anche che quello che scrivevi sfruttando quattro frame e sprecando risorse, da flash 5 lo scrivi agevolmente utilizzando un singolo fotogramma...
    insomma, dimmi cosa devi ottenere e vedrò di aiutarti a farlo

  4. #4
    grazieeeeeeeee!!

    allora io in pratica voglio che oltre a essere segnata la percentuale di avanzamento del caricamento, vengano visualizzati ogni tot delle immagini.

    http://yujinsha.net/ale/prova/flash/movie0.swf

    questo il filmato, (che tra l'altro visto da solo funziona... montato nella pagina html NO)
    ci sn 6 immagini a scalare che si vedono mano a mano che il loading procede.
    al 15% si vd l'immagine 6, al 30 l'immagine 5 e cosi via...
    fino a che il loading finisce e parte il filmato!

  5. #5
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    ok, unico frame con preload, il resto dovresti lasciarlo invariato e dovrebbe andare

    Codice PHP:
    stop();
    var 
    path this;
    for(var 
    1<= 6i++){
        
    path['fill'+i]._alpha == 100 0;
    }
    var 
    this.createEmptyMovieClip("p",1);
    p.progress = function(){
        
    sStatus l+"%";
        switch(
    l){
            case 
    15:
                
    path.fill1._alpha 0;
                
    path.fill2._alpha 100;
                break;
            case 
    45:
                
    path.fill3._alpha 100;
                break;
            case 
    65:
                
    path.fill4._alpha 100;
                break;
            case 
    75:
                
    path.fill5._alpha 100;
                break;
            case 
    90:
                
    path.fill6._alpha 100;
                break;
        }
    }
    p.complete = function(){
        
    gotoAndPlay("start of movie");
    }
    p.onEnterFrame = function(){
        
    path.getBytesLoaded();
        
    path.getBytesTotal();
        
    Math.floor((c/t)*100);
        if(!
    isNaN(l)){
            
    // azioni di visualizzazione del preload
            
    this.progress();
        }
        if(
    >= && && == 100){
            
    // azioni all'ultimazione del caricamento
            
    this.onEnterFrame undefined;
            
    this.complete();
        }


  6. #6
    scusami... spiega bene...
    allora al primo frame gli caccio il codice che mi hai scritto tu,
    pero' prima devo impostare i FILL ad alpha 0..

    poi cancello il codice degli altri frame e dovrebbe andare?
    ho fatto cosi ma nn va.. quindi suppongo di aver fatto la procedura sbagliata....

    uf...

  7. #7
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    no, gli altri li elimini proprio e utilizzi solo il codice che ti ho scritto su di un frame, ho rispettato i nomi che hai postato nei messaggi precedenti, perciò dovrebbe andare... salov un errore di trascrizione nel codice... aspetta un secondo...

    [edit] infatti c'era un errore che non ho corretto nel codice che ho postato... correggo sullo stesso post...

  8. #8
    ...ok! grazie mille!
    adesso sn in ufficio ma stasera provo di nuovo!

    grazie ancora!

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 © 2026 vBulletin Solutions, Inc. All rights reserved.