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

    Gestione differenti pagine e scene

    Ciao a tutti.
    sono nuovo nel forum, ma non troppo nuovo a Flash, anche se non troppo esperto ...

    Quello che mi manca di flash è come organizzare la gestione del passaggio tra le varie pagine, mi spiego meglio:

    devo gestire un "minisito", tutto in flash. ci sono 4 diverse pagine a cui si accede dall'index, in cui ovviamente è contenuto il menu.
    quando passo da una pagina all'altra, c'è anche un'animazione comune che va eseguita e che fa "sparire" la pagina corrente.

    quale soluzione scegliere, che sia "corretta" logicamente e permetta un'intelligente gestione del sito:

    1. gestire le pagine con diverse scene, e saltare da una scena all'altra (in questo caso, non so perchè, dall'interno di un movie clip, pur facendo _root.gotoAndPlay("scena", 1); non funziona.

    2. gestire le pagine come diversi clip, e richiamarli tutti dalla timeline principale.

    3. gestire le pagine come diversi files swf, e usare la LoadMovie


    un aiuto sulla gestione di questa cosa sarebbe molto gradito, ho una scadenza molto urgente e vorrei evitare di fare un "minestrone" con tutti i clip sulla timeline principale.

    grazie !!!

  2. #2
    Utente di HTML.it L'avatar di NAP
    Registrato dal
    Jan 2001
    Messaggi
    4,398
    Dovresti specificare la versione di Flash che usi, e premetto che sono fermo alla versione8, quindi, al massimo AS2.

    Il mistero delle diverse scene è sempre lo stesso:
    per raggiungere un frame che sta in un'altra scena, quel frame dev'essere etichettato, supponiamo: pag_2.
    Quindi le azioni saranno:
    _root.gotoAndPlay("pag_2");

    Non importa se le scene sono due, oppure 100; la timeline principale è sempre una e unica.
    Cmq, io sconsiglio sempre l'uso delle scene.
    Oggi il concetto di "file pesante" è diventato relativo, nel senso che i più hanno una connessione veloce, quindi non userei il loadMovie se il sito, in toto, non supera il Mega. E anche se tu lo usassi, il tempo di caricamento dei singoli file esterni non toglierebbe nulla al tempo totale né alla media. Per caricare un Mega, se c'è banda, è sufficiente un secondo, al max 5. Pertanto: un solo preloader all'inizio del "sito".

    Consiglio di fare tutto in un'unica timeline che, a partire dal menu, mandi tutti i pulsanti in singoli frames in cui ci sono dei movieclip (le pagine) che iniziano sempre con la stessa animazione di cui parli. Ovviamente, il layer che contiene il menu dovrà proseguire su tutta la linea totale, altrimenti al primo clic scompare.
    In sostanza, anche se l'animazione è copiata 10 volte, non significa che nell'swf le 10 copie si sommino. II peso rimane più o meno quello iniziale perché le copie (istanze) delle animazioni vengono chiamate una per volta (mai tutte insieme = sovraffollamento in RAM). Il richiamo è dinamico e quindi 10 copie pesano sempre come una (il peso effettivo del Simbolo che hai nella libreria).
    A volte la diplomazia va condita con un pizzico di siluri fotonici. (K. Janeway)

  3. #3
    Nap, grazie mille per la risposta, proverò a fare come mi hai suggerito.
    In linea di massima è una delle idee che avevo avuto, anche se avevo pensato a qualcosa del genere: metto un frame in cui c'è l'animazione "di uscita", chiamiamola così, e poi dal gestore del bottone faccio un qualcosa tipo:

    on(release) {
    gotoAndPlay("menuOut");
    gotoAndPlay("paginaX");
    }

    solo che una volta fatto il primo gotoAndPlay, Flash non si ricorda che il chiamante aveva anche un'altra istruzione, per cui non la fa ...

    quindi credo proprio che l'unica soluzione sia come hai detto te, mettere il "menuOut" all'inizio di ogni pagina.

    Ti farò sapere, intanto grazie !!

  4. #4
    ah.. sto usando il file in formato Flash CS3 con AS2

  5. #5
    Dunque, altro problemino:
    una volta entrato nel clip che contiene un'altra pagina, ho il clip del cosiddetto "menuOut". al suo interno ci sono i vari "pezzi" che devono sparire, fatti a loro volta come clip. La struttura è quindi:

    1. index
    1.A pagina2Clip
    1.A.1 menuOut
    1.A.1.1 componenti del menu da far "sparire"

    da 1.A voglio controllare se 1.A.1 (menuOut) ha finito la sua esecuzione, quindi se è all'ultimo frame.
    Ho usato una cosa del genere, sul clip menuOut di 1.A:

    onClipEvent(enterFrame){
    if(fumettoAnim._currentframe == fumettoAnim._totalframes)
    {
    _parent.nextFrame();
    }
    }

    Il problema è che totalFrames mi restituisce il valore giusto (74), mentre currentFrame mi restituisce sempre 1 !

    Perchè ?
    Qualcuno sa aiutarmi ?

    grazie mille !!

  6. #6
    Utente di HTML.it L'avatar di NAP
    Registrato dal
    Jan 2001
    Messaggi
    4,398
    Ci sono due errori di concetto:

    1. l'on release può eseguire soltanto il primo goto perché "dopo il rilascio" il pulsante non è più operativo (la testina di lettura si è spostata fino all'utimo frame di menuOut), ed , nel suo ultimo frame, che devi mettere l'altra istruzione:
    gotoAndPlay("paginaX");
    in tal modo succede quanto segue:
    Il pulsante manda la testina nel primo frame di menuOut, poi prosegue fino al suo ultimo frame (punto di scomparsa totale), e infine incontra l'istruzione di goto che le comanda (parlo della testina) di proseguire "la corsa" per raggiungere l'inizio di paginaX.

    2. l'istruzione "_nextFrame ()" non ha, nel tuo caso, alcun riferimento concreto perché quell'istruzione funziona soltanto sulla timeline in cui esiste l'istruzione stessa.
    Non avendo iindicazioni che riguardano l'altra timeline (il _parent significa: esci da qui e vai sulla timeline superiore), ecco che va nel punto più logico: il frame n° 1, perché dopo la fine della timeline, il punto logico successivo è l'inizio della stessa.

    Quindi: non "_parent.next Frame () // non è logico
    bensì: _parent.gotoAndPlay (n);
    dove n è il numero del frame che vuoi raggiungere.

    Se il _parent si riferisce alla timeline principale, allora è più sicuro:
    _root.gotoAndPlay (n);

    Ma perché invece di far scomparire proprio il menu, non fai scomparire le pagine? Magari con un cross-fade?
    Lo dico perché il menu dovrebbe essere sempre presente, senza eccezioni (l'utente lo pretende).

    NAP
    A volte la diplomazia va condita con un pizzico di siluri fotonici. (K. Janeway)

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.