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

    Preloader e filmati concatenati

    salve!
    anche oggi ho un problema con flash... mi spiego.
    il mio sito è organizzato così:
    main.swf che carica sito.swf che carica o clip1.swf o clip2.swf a seconda del frame.
    ora volglio aggiundere un preload al main.swf perchè è pesantuccio (1MB!!!). se lo metto esterno faccio casino perchè devo impostare il this._lookroot=true e poi alla fine disabilitarlo altrimenti non mi visualizza più gli altri filmati. però posso metterlo interno avendo solo 1 frame sul main.swf. Ho provato a mettere questo script sul layer perload:
    codice:
    function preloader() { 
       barWidth = 250; // lunghezza della barra 
       barHeight = 5; // altezza della barra 
       startX = 100 // posizione x del preloader 
       startY = 200 // posizione x del preloader 
       goSomewhere = "inizio";  
       var pB = this.createEmptyMovieClip("preloadBar", 2); 
       // istruzione della barra
       var pK = this.createEmptyMovieClip("preloadBarKeyline", 3); 
       pK.lineStyle(1,0xFFFFFF,100); 
       pK.moveTo(startX,startY); 
       pK.lineTo(startX+barWidth,startY);pK.lineTo(startX+barWidth,startY+barHeight); 
       pK.lineTo(startX,startY+barHeight);pK.lineTo(startX,startY); 
       // percentuale
       this.createTextField("percentText",4,startX,startY-(barHeight*4),30,20); 
       percentTextFormat = new TextFormat(); 
       percentTextFormat.font = "_sans"; 
       percentTextFormat.color = 0xCCCCCC; 
       this.percentText.setTextFormat(percentTextFormat); 
       ptotal = this.getBytesTotal(); 
       // 
       this.onEnterFrame = function() { 
          if (ploaded == ptotal && ptotal > 0) { 
             pB.removeMovieClip();pK.removeMovieClip(); 
             percentText.removeTextField(); 
             this.gotoAndStop(goSomewhere); 
             this.onEnterFrame = null; 
          } else { 
             ploaded = this.getBytesLoaded(); 
             ptotal = this.getBytesTotal(); 
             percent = Math.round((ploaded/ptotal)*barWidth); 
             percentText.text = Math.round((ploaded/ptotal)*100) + "%"; 
             percentText.setTextFormat(percentTextFormat); 
             pB.clear(); 
             pB.moveTo(startX, startY); 
             pB.beginFill(0x006666, 100); 
             pB.lineTo(percent+startX, startY); 
             pB.lineTo(percent+startX, startY+barHeight); 
             pB.lineTo(startX, startY+barHeight); 
             pB.lineTo(startX, startY); 
             pB.endFill(); 
          } 
       } 
    }
    e questo sul layer richiama:
    codice:
    stop(); 
    preloader();
    poi metto un'etichetta di nome "inizio" dove inizia il filmato (nel mio caso 2°)

    Dovrebbe funzionare... E' un preloader ultratestato... Ma quando lo guardo in rete vedo una schermata nera, come lo sfondo del filmato, e poi dopo una bella attesa compare il filamto. questo vuol dire che non funziona il preloader... come posso risolvere?

  2. #2
    prova cosi
    fai un altro movie.
    dentro al movie metti un clip vuoto (ad esempio istanza "vuoto").
    imposti un preload che fa riferimento a questo clip
    tot = _root.vuoto.getBytesTotal();
    car = _root.vuoto.getBytesLoaded();
    etc. etc.
    carichi il tuo "main.swf" dentro a questo clip.
    a caricamento avvenuto, però, dai come azione di ricaricare il movie "main.swf" direttamente sul _root
    il filmato, ormai caricato nella cache del browser, partirà tranquillamente.
    non esistono che molteplici parvenze e contraddittorie sembianze della stessa apparenza

  3. #3
    ciao grazie per l'aiuto!!! funziona.. però vorrei aggiungere una barra che visualizzi il caricamento...
    il codice che ho scritto è questo:
    codice:
    stop()
    vuoto.visible=false
    vuoto.loadMovie("main.swf");
    tot=_root.vuoto.getBytesTotal();
    car=_root.vuoto.getBytesLoaded();
    perc=Math.round(car/tot*100);
    if (car=tot) [
    removeMovieClip(vuoto);
    _root.loadMovie("main.swf");
    ]
    al posto delle quadre ci sono le graffe, solo che il linux ogni tanto mi fa lo scherzo di non metterle...
    ora io ho un movie che si chiama preloader in libreria. faccio _root.attachMovie("preloader","preloader",200) e poi dico _root.preloader.barra._xscale=perc e caricamento.text = "caricamento " + perc + "%"
    ma come faccio a farlo aggiornare? ci vanno 2 frame e nel secondo dico gotoAndPlay(1)??
    Sono nella confusione più totale...

  4. #4
    imposta la cosa in questa manierafai tre livelli
    su uno imposti le azioni
    sull'altro metti il movieclip vuoto.
    sul terzo la barra di avanzamento
    sul livello azioni fai 2 keyframes vuoti.
    il livello del movieclip un solo keyframe.
    il livello della barra un solo keyframe.
    crei la tua barra di avanzamento che sarà un movieclip e la posizioni al primo frame del rispettivo livello.
    al movieclip "barra" assegni il codice
    [code]
    onClipEvent (load) {
    _root.barra._xscale = 0;
    _root.vuoto._visible = 0;
    function loader() {
    _root.barra.onEnterFrame = function() {
    caric = _root.foto.getBytesLoaded();
    total = _root.foto.getBytesTotal();
    perc = int((car*100)/tot);
    _root.barra._xscale = perc;
    if (caric != undefined) {
    if (caric == total) {
    _root.loadMovie("main.swf");
    }
    }
    };
    }
    loader();
    }
    non esistono che molteplici parvenze e contraddittorie sembianze della stessa apparenza

  5. #5
    dimenticavo lo stop iniziale
    _root.stop();
    non esistono che molteplici parvenze e contraddittorie sembianze della stessa apparenza

  6. #6
    ho scritto un sacco di caxxate!!!
    non ti serve il livello delle azioni
    ed fai un solo frame per ogni livello
    Sorry!!
    non esistono che molteplici parvenze e contraddittorie sembianze della stessa apparenza

  7. #7
    ho provato ma non funziona nemmeno con le correzzioni.. non dovevo caricare il .swf nel vuoto? in quello che hai scritto non lo carico li ma sono il _root...

  8. #8
    scusa...oggi è domenica e sto abbastanza rincretinito.
    metti al primo frame
    _root.vuoto.loadMovie("main.swf");
    pardon!
    non esistono che molteplici parvenze e contraddittorie sembianze della stessa apparenza

  9. #9
    ciao scusa ma forse sono io che non capisco... ti ho fatto un file zip che contiene i file e degli esempi QUI... puoi quardarli un secondo?? scusami se ti rompo in continuazione... cmq l'esempio che ti ho fatto è come mi hai detto tu, ma non funziona... ho messo dei trace all'interno e si vede che il movie lo carica dopo 4bytes (è1.5MB)...

    EDIT: il link non funzionava sorry...

  10. #10
    lo scarico e gli do un occhio...
    scusami tu ma oggi sto proprio rimbecillito e faccio un sacco di caxxate...
    appena visto ti faccio sapere
    non esistono che molteplici parvenze e contraddittorie sembianze della stessa apparenza

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.