Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    39

    base per il sito web in flash

    Visto che qui abbiamo gente molto competente che per il preload mi ha aiutato un casino (e ancora ringrazio) vi chiedo un altra cosa, è una cosa semplice che in passato sapevo e ora mi sono dimenticato e siccome non trovo i vecchi file su cui studiarci sopra... la ripropongo a voi,
    allora vorrei fare un sito in cui la testata e il menu pulsanti rimangano fissi, e il contenuto di tutto il sito vada ogni volta a caricarsi sotto di essi a seconda del link che premo, voglio fare questo cosi la testata del sito può contenere un animazione che non riparte ogni volta che premo un pulsante e mi indirizzi a una scena del mio sito che abbia ancora testata menu e contenuto sotto, le mie scene devono solo contenere il contenuto sotto ed essere caricate nella scena principale dove abbiamo la testata e il menu pulsanti fissi sempre! Spero di essere stato chiaro nella spiegazione perchè immagino che ogni tanto non sia chiaro da capire pere tutti ehehehe, grazie a tutti quelli che sapranno darmi un aiuto!
    Stefano Patrissi

  2. #2
    Utente di HTML.it L'avatar di NAP
    Registrato dal
    Jan 2001
    Messaggi
    4,398
    Rieccomi.
    A dirla tutta, ho fatto un po' di fatica prima di capire, e pertanto farò un'ipotesi con parole mie.

    Premessa: l'uso delle scene è sconsigliato (non chiedermi il perché, sennò mi tocca scrivere un trattato solo su questo argomento).

    Ho una pagina principale.
    La pagina, alla prima visita, contiene soltanto il menu e altra grafica che debbono rimanere sempre visibili.
    Il menu è fisso (sono immagini, o icone o testo... che in realtà sono pulsanti).
    Al clic di ogni pulsante voglio che compaia un contenuto corrispondente.
    Se premo un altro pulsante succede che il contenuto vecchio scompare per essere sostituito da quello nuovo.
    La cosa vale per ognuno dei contenuti richiamati da ognuno dei pulsanti.

    Se sì, se ho azzeccato quello che vuoi fare, allora inizia ad esultare perché la cosa è di una semplicità disarmante. Occorre una sola istruzione che dovrai assegnare ad ognuno dei pulsanti.

    Come tu sai, siamo abituati a definire "livelli" quelli che creiamo sulla timeline ma, rispetto a ciò che sto per dirti, c'è una sorta di confusione perpetua: quelli della timeline sono livelli interni ma ne esistono anche di esterni.
    Quelli interni li aggiungiamo "a mano" mentre quelli esterni li creiamo tramite codice. I livelli esterni hanno una caratteristica comoda: se li riempiamo con un nuovo contenuto (poi capirai) succede che il contenuto nuovo prende il posto di quello "vecchio".

    Vengo al dunque:
    - Apri il .fla che rappresenta la pagina principale del sito e piazza i tuoi pulsanti (cosa che di sicuro hai già fatto).
    - Ora, nella stessa cartella in cui hai il .fla della pagina principale, creane uno nuovo, nominalo col nome di uno dei pulsanti (esempio: chi_siamo.fla).
    - Aprilo e dagli le stesse, identiche dimensioni di stage che ha il .fla della pagina principale.
    - Se nella pagina principale i pulsanti stanno in alto, allora nel .fla di nome chi_siamo scrivi il tuo testo più in basso, e fai la stessa cosa per le immagini e/o le animazioni che conterrà.
    - Esporta l'swf chi_siamo.swf (si posizionerà nella stessa cartella dove hai il .fla).
    - Crea un altro nome.fla per ogni contenuto corrispondente a quanto "spiega" il suo pulsante che sta nella pagina principale, e fai la stessa cosa, come sopra (dimensioni di stage identiche a quelle della pagina principale).
    Supponiamo che tu abbia preparato 4 swf:
    1. chi_siamo.swf
    2. cosa_facciamo.swf
    3. cosa_ci_piace.swf
    4. valore_aggiunto.swf

    Bene, apri il fla della pagina principale, seleziona il pulsante "Chi siamo", apri il pannello delle azioni, clicca sul bianco e scrivi:

    on (release) {
    loadMovieNum ("chi_siamo.swf", 1);
    }

    Passa al pulsante "Cosa facciamo" e associagli:

    on (release) {
    loadMovieNum ("cosa_facciamo.swf", 1);
    }

    Fai la stessa cosa con gli altri pulsanti, cambiando solo il nome del swf che si trova tra: "...".

    Come funziona? Al clic sul pulsante Chi siamo si carica, nel _level1 (un livello che si crea "dal nulla" tramite l'istruzione), il contenuto grafico (tutto) del file chi_siamo.swf.
    Dove si carica? Nella pagina principale, come se ne facesse parte.
    Se ora premi il pulsante Cosa facciamo, che succede?
    Succede che il contenuto di "chi_siamo.swf" scompare e, al suo posto, compare il contenuto del file cosa_facciamo.swf.

    Va da sé che la stessa cosa avviene con qualunque pulsante dei 4 tu vada a cliccare: scompare il contenuto precedente e compare quello successivo.
    Per ogni file.swf esterno che superi i 30 KB conviene che tu metta nel suo primo frame un bel preloader. Chi ha una linea veloce non farà in tempo a vederlo ma c'è ancora gente che viaggia a 56K.

    Ora supponiamo che, dopo tutto questo, tu voglia andare in un altro frame tramite un altro pulsante. Sarà bene, preventivamente, "scaricare" (nel senso di far sparire) l'ultimo swf caricato, altrimenti lo vedrai ovunque tu vada, su tutto il resto della timeline.

    Vediamo:
    Al pulsante che ti fa spostare da quel frame della pagina principale per andare al frame n° 3 (o qualunque altro):
    codice:
    on (press) {
    unloadMovieNum (1); //svuotiamo il contenuto del _level1, qualunque swf vi sia dentro.
    }
    on (release) {
    _root.gotoAndPlay (3);
    }

    Prova il tutto e rimarrai stupito (la prima volta è sempre così).
    A volte la diplomazia va condita con un pizzico di siluri fotonici. (K. Janeway)

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    39
    Esattamente quello che voglio fare hai capito benissimo!!! sei un grande adesso mi metto subito al lavoro, intuisco che adesso se faccio tutti i siti cosi probabilmente saranno molto leggeri da caricare in principio quindi il preload iniziale andra come un fulmine... magari non serve comunque perchè dovra andare a caricare solo la prima pagina.... bè che dire grazie ancora NAP sei un aiuto preziosisimo!
    Stefano Patrissi

  4. #4
    Originariamente inviato da NAP

    ----

    Bene, apri il fla della pagina principale, seleziona il pulsante "Chi siamo", apri il pannello delle azioni, clicca sul bianco e scrivi:

    on (release) {
    loadMovieNum ("chi_siamo.swf", 1);
    }

    Passa al pulsante "Cosa facciamo" e associagli:

    on (release) {
    loadMovieNum ("cosa_facciamo.swf", 1);
    }

    Fai la stessa cosa con gli altri pulsanti, cambiando solo il nome del swf che si trova tra: "...".

    Come funziona? Al clic sul pulsante Chi siamo si carica, nel _level1 (un livello che si crea "dal nulla" tramite l'istruzione), il contenuto grafico (tutto) del file chi_siamo.swf.
    Dove si carica? Nella pagina principale, come se ne facesse parte.
    Se ora premi il pulsante Cosa facciamo, che succede?
    Succede che il contenuto di "chi_siamo.swf" scompare e, al suo posto, compare il contenuto del file cosa_facciamo.swf.

    Va da sé che la stessa cosa avviene con qualunque pulsante dei 4 tu vada a cliccare: scompare il contenuto precedente e compare quello successivo.
    Per ogni file.swf esterno che superi i 30 KB conviene che tu metta nel suo primo frame un bel preloader. Chi ha una linea veloce non farà in tempo a vederlo ma c'è ancora gente che viaggia a 56K.

    Ora supponiamo che, dopo tutto questo, tu voglia andare in un altro frame tramite un altro pulsante. Sarà bene, preventivamente, "scaricare" (nel senso di far sparire) l'ultimo swf caricato, altrimenti lo vedrai ovunque tu vada, su tutto il resto della timeline.

    Vediamo:
    Al pulsante che ti fa spostare da quel frame della pagina principale per andare al frame n° 3 (o qualunque altro):
    codice:
    on (press) {
    unloadMovieNum (1); //svuotiamo il contenuto del _level1, qualunque swf vi sia dentro.
    }
    on (release) {
    _root.gotoAndPlay (3);
    }

    Questo thread è proprio quello perfettamente di cui avevo bisogno io !!!
    Però..però.."logicamente" seppur sia spiegato come Dio comanda...mi sono bloccata...!!
    Ho fatto i pulsanti, ho fatto i vari swf dei vari "contenuti"..però poi non mi si collega se vado nel pannello delle azioni come detto gentilmente da te e scrivo quello.. però poi mi dice " scena 1, livello pulsanti,Fotogramma 1,riga 1 : 1087: Errore di sintassi: trovati caratteri supplementari dopo la fine del programma sorgente: on release."
    Eppure non sò davvero dove sbaglio!!!
    E poi non ho ben capito l'ultima parte..."tecnicamente"..
    NAP ti prego aiutami tu...!

  5. #5
    Utente di HTML.it L'avatar di NAP
    Registrato dal
    Jan 2001
    Messaggi
    4,398
    Sempre che tu abbia selezionato AS 1 o AS 2.0, è possibile che nell'editor del pannello Azioni sia rimasto qualcosa di non cancellato. Gli script che vedi sopra sono corretti.

    In alternativa (solo se in AS 2.0):
    - seleziona i pulsanti (uno per volta) e, dal pannello Proprietà, assegnagli un nome istanza, ad esempio puls_1, puls_2, puls_3, puls_4

    - Supponiamo che tu abbia anche un altro pulsante che serve a far sparire ciò che si trova a video e che, al tempo stesso, ti conduce al frame n°2. Se sì, allora dagli il nome istanza: vai

    - ora seleziona il frame in cui esistono tutti e 5 i pulsanti, apri il pannello Azioni e scrivi:

    codice:
    stop ();
    puls_uno.onRelease = function (){
    loadMovieNum ("chi_siamo.swf", 1);
    }
    puls_due.onRelease = function (){
    loadMovieNum ("cosa_facciamo.swf", 1);
    }
    puls_tre.onRelease = function (){
    loadMovieNum ("cosa_ci_piace.swf", 1);
    }
    puls_quattro.onRelease = function (){
    loadMovieNum ("valore_aggiunto.swf", 1);
    }
    vai.onPress = function (){
    unloadMovieNum (1);
    }
    vai.onRelease = function (){ 
    _root.gotoAndStop (2);
    }
    Nel frame della pagina2, ad un - altro - pulsante che serve a tornare alla pagina precedente (il frame n°1 della principale), darai il nome istanza torna e, al frame in cui si trova, associerai:

    codice:
    stop ();
    torna.onRelease = function (){ 
    _root.gotoAndStop (1);
    }
    It is clear?

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

  6. #6
    ..niente..ho fatto ocme dici tu ma non va!Non m idà la possibilità di "entrare nelle azioni dei pulsanti!

  7. #7
    Utente di HTML.it L'avatar di NAP
    Registrato dal
    Jan 2001
    Messaggi
    4,398
    E... la cosiddetta "alternativa", cosa l'ho scritta a fare? Quelle azioni vanno associate al frame in cui ci sono i pulsanti. Agli stessi devi solo assegnare i nomi d'istanza.
    A volte la diplomazia va condita con un pizzico di siluri fotonici. (K. Janeway)

  8. #8
    Originariamente inviato da NAP
    E... la cosiddetta "alternativa", cosa l'ho scritta a fare? Quelle azioni vanno associate al frame in cui ci sono i pulsanti. Agli stessi devi solo assegnare i nomi d'istanza.
    no no..è bastato sotlanto cambiare le impostazione da as3 a as2, io sbagliavo perchè le cambiavo (non cambiandole) direttamente dal pannello delle azioni!
    Adesso devo capire e riuscire come fermare l osfarfallio continuo dei pulsanti ed il resto!
    A dopo mio eroe, anche se spero di no ndoverti più disturbare! :ignore:

  9. #9
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    39
    Il grande Nap risolve sempre tutto!
    Stefano Patrissi

  10. #10
    ..adeso magari cominciate ad offendermi, ma a volte mi perdo davvero in un bicchier d'acqua...non riesco piu a "bloccare" i due clip sulla linea temporale!
    Quando provo il filmato vanno in loop senza bloccarsi pur che i oabbia messo all'ultimo frame del livello in question un bello stop();

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.