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

    preload: alla prima visione del sito tutto ok dalla seconda in poi si impalla tutto..

    Salve a tutti!
    Sono nuovo di queste parti, alle prese con flash da circa un mesetto...

    Finora ho tentato di cavarmela da solo, ma alla fine mi si è presentato un problema che, sicuramente per limiti miei, non so proprio come risolvere nè da cosa sia generato, quindi mi rimetto all'indulgenza di chi ne sa più di me

    dunque il punto è questo:
    ho strutturato il mio sito seguendo all'incirca le lezioni presenti in : costruire un sito in flash passo per passo (http://flash-mx.html.it/guide/lista_....asp?idguida=6)
    tutto bene fino al preload...

    In effetti tutto funziona bene la prima volta che carico il sito: i due file swf che lo compongono (musica.swf e sito.swf) vengono caricati ed una volta finito il preload il sito è perfettamente navigabile...
    però se chiudo il sito e lo lancio nuovamente mi si impalla sul primo frame della linea temporale principale (sembra come se il primo frame fosse stato messo in loop )

    Spero che qualcuno abbia una vaga idea del perchè mi succeda una cosa del genere...

    questo è il codice del preload:

    codice:
    onClipEvent (load) {
    _visible = 0;
    loadMovie("filmati/musica.swf", 1);
    _root.stop();
    }
    onClipEvent (enterFrame) {
    car0 = _root.getBytesLoaded();
    tot0 = _root.getBytesTotal();
    car1 = _level1.getBytesLoaded();
    tot1 = _level1.getBytesTotal();
    if (_level1._url != null) {
    if (car0 == tot0 && car1 == tot1) {
    _level1.nextFrame();
    _root.gotoAndPlay(2);
    } else {
    _visible = 1;
    barra1._xscale = Math.round((car0/tot0)*100);
    barra2._xscale = Math.round((car1/tot1)*100);
    }
    }
    }
    grazie dell'attenzione

  2. #2
    Ciao Jigsaw,
    ho notato che sul codice da te postato manca qualcosina o hai inserito dei comandi diversi da quelli specificati sulla guida, prova a rivedere il codice:
    codice:
    // al caricamento del movieclip
    onClipEvent (load) {
    // rendi invisibile il movieclip
    _visible = 0;
    // carica il filmato "suono.swf" sul livello 10
    loadMovieNum ("suono.swf", 10);
    // interrompi la riproduzione della timeline principale
    _root.stop();
    }
    // ad ogni riproduzione del movieclip
    onClipEvent (enterFrame) {
    // assegna a "car0" il numero di bytes caricati del filmato principale
    car0 = _root.getBytesLoaded();
    // assegna a "tot0" il numero di bytes totali del filmato principale
    tot0 = _root.getBytesTotal();
    // assegna a "car10" il numero di bytes caricati del filmato suono.swf
    car10 = _level10.getBytesLoaded();
    // assegna a "tot10" il numero di bytes totali del filmato suono.swf
    tot10 = _level10.getBytesTotal();
    // se l'url del livello 10 non è nulla (quindi è iniziato il caricamento)
    if (_level10._url != null) {
    // se "car0" è uguale a "tot0" e "car10" è uguale a "tot10"
    if (car0 == tot0 && car10 == tot10) {
    // riprendi la riproduzione del livello 10 fermandola sul frame seguente
    _level10.nextFrame();
    // riprendi la riproduzione del filmato fermandola sul frame seguente
    _root.nextFrame();
    // altrimenti
    } else {
    // setta la variabile "vai" come vera sulle tre frecce
    _parent.freccia1.vai = _parent.freccia2.vai = _parent.freccia3.vai = true;
    // rendi il movieclip visibile
    _visible = 1;
    // scala la barra1 sul valore di "car0" fratto "tot0" moltiplicato per 100
    barra1._xscale = Math.round((car0/tot0)*100);
    // scala la barra2 sul valore di "car10" fratto "tot10" moltiplicato per 100
    barra2._xscale = Math.round((car10/tot10)*100);
    }
    }
    }
    Ciao
    RS95

  3. #3
    Ciao RS95,
    grazie per avermi risposto,
    in effetti ho cambiato il codice della guida per le mie esigenze, innanzi tutto il file musica.swf lo carico sul livello 1 e non sul 10 come avviene nell'esempio, e poi ho eliminato una parte del codice che a me non serve perchè si occupa di un'animazione che io non ho inserito nel mio preload (questa parte qui:
    codice:
    // setta la variabile "vai" come vera sulle tre frecce
    _parent.freccia1.vai = _parent.freccia2.vai = _parent.freccia3.vai = true;
    ).
    Non credo che questi cambiamenti abbiano a che fare col problema che mi si presenta, fra l'altro come ho spiegato la prima volta che scarichi il sito funziona tutto bene, è dalla seconda in poi che sorgono i problemi, come se il browser avesse delle difficoltà nel richiamare i file dalla cache...

    aiutooooo

  4. #4
    Ok per le frecce (anche se usi una istruzione condizionale if... else), inoltre non ho capito perche' hai inserito:
    codice:
    _root.gotoAndPlay(2);
    anziche'
    codice:
    _root.nextFrame();
    in teoria, dovrebbe essere la stessa cosa ma in pratica non sarei molto convinto.
    Prova a cambiare il codice, forse risolvi il problema, sai ci sono tanti bug
    Bye
    RS95

  5. #5
    Ho inserito
    codice:
    _root.gotoAndPlay(2);
    perchè il filmato che devo caricare non è composto da un solo frame come quello d'esempio quindi ho pensato che fosse meglio gotoAndPlay piuttosto che nextFrame, in realtà non cambia nulla nè con l'uno nè con l'altro comando (nextFrame l'avevo provato già...), cmq ora continuerò a smanettare sul codice sperando di poter postare una soluzione a 'sto problema al più presto...

    grazie ancora per l'attenzione

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.