Creare un Banner Random in Flash

- Letture: 3.319

Ecco un esempio base di Banner con sfondo ottenuto a random, ovvero preso a caso a seconda del valore di una variabile.

Banner Random

  • Nel primo frame

a = random(8)+1; //Formulo la funzione random 8 sono i miei frame
gotoAndStop(a); // mi dirigo nel frame preso a caso
trace(a); //controllo la variabiale a
stop();

Andiamo a vedere meglio nel dettaglio:

Linea Temporale

Sulla nostra linea temporale, troviamo 5 livelli ognuno adibito per ospitare il codice, il pulsante, la scritta, il logo e lo sfondo.
In questo caso il primo frame tramite la funzione random, imposta un valore alla variabile a e tramite il comando gotoAndStop(); otterremo la posizione nel determinato frame con lo sfondo diverso. 

Scarica il sorgente
Guarda il Tutorial 

Stratega, Docente, Speaker con più di 12 anni di esperienza in strategie creative multicanale. Oggi sono Managing Partner di ThinkingHat, Innovation Studio specializzato in tecnologie emergenti per aziende e brand audaci.

38 Commenti

  1. FuzyNoel

    We Julius bellissimo il banner…ne ho creato uno simile…ora vorrei inserirlo nella pagina del sito..come faccio?ho hostato il banner sul server e ho creato la page. ho provato ad inserire il calssico comando html che si usa anche per i filmati in flash, eppure continua non visualizzarmelo quando apro la pagina..come faccio?!?

  2. Ciao Julius, il tuo banner è eccezionale, complimenti davvero!!!
    Volevo chiederti qualche info.
    Ho scaricato dal tuo link il file sorgente, per poter ricreare un banner come il tuo, ma dopo averlo scaricato in locale, aprendo il file “.fla”, si apre il programma Flash, ma compare un messaggio di errore con la seguenete dicitura: <>.
    Dopo aver cliccato sul pulsante “OK” non visualizza nulla.
    Sapresti gentilmente spiegarmi come mai?
    Ti ringrazio anticipatamente per il tuo tempo e la tua disponibilità nell’offrire questo suporto a tutti coloro che hanno passione come te.

  3. Ciao Michele,

    prima di tutto grazie per i complimenti.

    Prova a riscaricare i file sorgenti a fine articolo, la versione era per Flash8, ora ho inserito una versione anche per MX2004.

    Dai un’occhiata…saluti

  4. Ciao Julius, grazie per avermi così pronatamente risposto, ho provato a scaricare i file sorgente a fine articolo, per chi ha la versione MX (come me), ma mi ha dato ugualmente lo stesso problema; ho provato anche ad utilizzare la tua dynamic gallery ma il file “dati” in xlm, comprende i soli indirizzi per le immagini, ma anche in questo caso il file in flash da dove prelevare il resto del codice da utilizzare in dremweaver MX non riesco ad aprirlo perchè continua a darmi: <> nell’apertura di Flash MX.
    Come mai?
    Forse è un problema al mio Flash?
    Eppuere ha sempre funzionato.
    Ti ringrazio in anticipo per il tuo supporto, davvero!
    Ciao e grazie

  5. ho notat che il copia ed incolla del messaggio non viene caricato.
    Comunque il messaggio d’errore che Flash visulizza all’apertura dei file sopra citati è il seguente: Formato File Inatteso !!!!

    Grazie ancora

  6. A questo punto posso dedurre che tu abbia solo flashMX, mentre le versioni disponibili sono Flash8 e FlashMX2004…

    Prova a installare una versione superiore oppure non riuscirai ad aprirlo..

  7. Ok ti ringrazio, ma sai dove posso trovare una versione trial o free per poter aprire i tuoi allegati?

    Oggi te ne ho fatte tante di domande, grazie anche per la tua pazienza.

  8. Una domanda Julius, come se già non te ne avessi fatte a sufficenza oggi, ma che tu sappia il link che tu mi hai in precedenaza fornito, per avere Flash MX 2004 è un trial version o cosa?
    Se lo installo (lasciando la mia versione Flash MX), allo scadere del tempo di prova, mi disattiverà anche la mia versione di Flash?

    Cosa mi consigli di fare a rigurado?
    Grazie ancora!

  9. Le due versioni, andranno in conflitto, mi consigli di disinstallare prima, la mia versione?

    Ciao e grazie ancora

  10. Ovviamente non possono convivere due versioni di Flash sullo stesso Pc quind dovresti disinstallarne una…

    Non vorrei sbagliarmi ma penso che le versioni siano di prova…

  11. Alessandra

    Ciao Juilius,
    complimenti per il tuo banner. Vorrei chiederti come rifarne uno uguale, ma che riproduca automaticamente in maniera random (senza bisogno di un bottone) 5 diverse clip.
    grazie mille

  12. @Alessandra ciao,

    la logica è la stessa.

    Potresti per ogni frame inserire i tuoi 5 clip, e alla fine del clip inizializzare di nuovo la funzione random….

  13. Ciao Julius! ho una domandina per te…come ottieni l’effetto luminoso sul logo del banner? …che poi è lo stesso che c’è anche sula scritta del banner all’apertura del tuo sito…ho aperto il fla e sono entrato nl simbolo del logo…ma non capisco come sia associato…Grasias!!

  14. Caro Julius ti faccio i miei complimenti per questo banner e per il tuo sito in generale. Un grande supporto a chi si sta addentrando, come me, nello studio di Flash. Carlo

  15. Emiliano

    Ciao Julius,

    perdonami, ma come si fa a cambiare la scritta nel banner?Non conosco flash e sto un pò nel panico….

  16. Ciao Julius grazie mille per quello che metti on line a disposizione di tutti. Stavo provando a modificare il banner inserendo al posto del fondo diverso delle foto ma quando lo eseguo mi ripropone sempre la foto 1 anche se la variabile a cambia valore.
    Mi sai dire cosa ho sbagliato?
    Grazie

  17. ciao Julius, banner interessante, solo una domanda. Nel tuo banner viene considerato l’accesso random a 8 diversi frame. Ma se io avessi per esempio frame 40 frame 50 frame 66 e vorrei l’accesso random solo a questi come dovrei strutturarlo ???? grazie in anticipo!

  18. @Emiliano: questo esempio gestisce le scritte da un campo di testo che trovi all’interno del progetto sorgente .fla

    @Nino: ciao, controlla di mettere lo sfondo diverso per ogni fotogramma

    Probabilemente hai inserito un’immagine su tutta linea temporale e quindi vedi sempre quella

    Vai sul primo fotogramma di un nuovo livello e inserisci la tua immagine

    Poi crea un fotogramma vuoto chiave al secondo fotogramma e inserisci un’altra imamgine

    In questo modo per ogni fotogramma avrai diverse immagini

    @mark: ciao potresti gestire il tutto con degli array o degli if

    Ti consiglio degli if in quanto è più semplice da utilizzare e da capire

    Ecco un esempio

    Data a una variabile randomica da 1 a 5 viene eseguita una condizione

    Se a è uguale a 1 la linea temporale andrà sul fotogramma 40

    a=random(5)+1;
    if(a==1){
    _root.gotoAndPlay(40);
    }

  19. ciao julius,
    grazie mille per tutti i tutorial che metti a disposizione….sto provando a realizzare un banner tipo questo che ci proponi, con la differenza che anzichè essere un banner sara la index del mio sito e che quindi anziche uno sfondo ci son delle immagini e i bottoni son sulle scritte e non su tutta l’area…..l’unica cosa che non mi funziona è che quando provo a visualizzare il file swf mi apre sempre il primo frame, senza contare gli altri mentre se faccio partire la preview da flash cs3 tutto funziona, basta farlo ricaricare……come mai????
    grazie in anticipo!
    Filippo Tarentini

  20. Io ho lo stesso problema di Filippo…e questo ho scoperto che si presenta solo con Firefox Mozilla, con gli altri browser la funzione random funziona, con Firefox se metti una foto funziona…se ne metti 2 no (una in un frame, e un altra in un altro frame), ti visualizza sempre il primo frame!
    Ho provato addirittura a mettere queste foto dentro clip filmati…e Funziona il Random ma quando va nel frame dove c’è questo clip con dentro la foto viene fuori completamene vuoto!
    Assurdo…
    Prova anche tu Julius..ti assicuro che il problema si presenta.. basta che nel tuo file sorgente metti 2 foto, ognuna in fotogrammi differenti…e Firefox ti leggerà sempre il primo frame!
    Fammi sapere se risolvi questo problema.
    Grazie mille…notteeeeeee

  21. alessandro per flash cs3

    ciao giulius per favore mi mandi per email un tuo spiegazione spiegata step by step per creare in flash una pallina che rimbalza e poi un effetto neve su di una scritta che io sto ancora a le prime armi con action script nn ci capisco molto grazie aspetto la email
    thnks .

  22. ciao julius,
    ho fatto tutto come da te descritto e funziona alla perfezione.
    Nel mio caso ho 4 frame con, in ognuno, uno sfondo e un testo animato diverso.
    Però nel momento in cui vado ad inserire nello stage un clip filmato che conta al suo interno più di 4 frame, nella scena principale (quella con la funzione random) mi si visualizzano correttamente i primi tre frame ma non l’ultimo (nel quale cambia si lo sfondo ma non parte l’animazione).
    Non so se sono stata chiara, se occorre ti posso mandare il file via email? a quale indirizzo?

    grazie

  23. @roberto @filippo: Mi sembra strana questo bug, con FIREFOX anche l’esempio in questo articolo non novrebbe funzionare no? Le colorazioni differenti vengono gestire con elementi rettangolari vettoriali in ogni frame

    @sonia: Al quarto frame ci accedi? Controlla bene che l’animazione sia inserita correttamente…

  24. Julius ha scritto:

    @sonia: Al quarto frame ci accedi? Controlla bene che l’animazione sia inserita correttamente…

    si ci accedo e funzionava fin quando non ho inserito un movie clip di durata superiore ai 4 frame! se quel movie lo riduco ad un numero uguale o inferiore a 4 funziona tutto!
    come mai fa così?

  25. @sonia: Be se la funzione random ti restituisce un numero da 1 a 4 è inevitabile che dal frame 5 in poi non accederai mai…

  26. no ma io non ho più di 4 frame è il movie clip che si trova in questi 4 frame ad avere, al suo interno, una lunghezza superiore!
    e poi per i primi tre frame funziona tutto, è solo nel 4° che non funge. credo che per farti capire devo mandarti il file, posso inviartelo su gmail? mi occorre una risposta quanto prima!
    grazie mille

  27. ci sono riuscita, non chiedermi il perchè ma bastava cancellare un elemento qualunque di un livello di sfondo…

    boh…

    grazie comunque!

  28. Salve ho un piccolo roblema e non so come risolverlo
    ho creato uno slideshow con flash cs4..
    tutto bene guardo la prova del video ed è perfetto, quindi lo salvo,mi ritrovo con il fla che funziona perfettamente e swf che è tagliato.
    per intenderci le immagini del flà hanno i bordi arrotondati e l’ombreggiatura….mha nel file swf non si vedono sembrano tagliati di netto.come risolvo???Grazie in anticipo.

  29. Mastabrail

    Ciao Julius,
    Prima di tutto volevo ringraziarti per il contributo che dai a tutti noi… :) epoi mi sentivo di dare anche io il mio piccolo contributo per evitare che molti ci sbattano la testa come ho fatto io per risolvere il bug su firefox che si verica quando nei frame si mettono immagina al posto di uno sfondo colorato:

    var r:Number = Math.floor(Math.random()*7)+1;

    _root.onLoad=function(){
    this.gotoAndStop(r)
    }

    stop();

    btn_next.onRelease = function () {
    if (_root._currentFrame == 8) {
    gotoAndStop(1)
    }
    else {
    nextFrame();
    }
    }

    btn_prev.onRelease = function () {
    if (_root._currentFrame == 1) {
    gotoAndStop(8)
    }
    else {
    prevFrame();
    }
    }

    questo vale nel caso si usano 8 frame in totale (quindi 8 sfondi).
    L’ho provato e sembra funzionare con tutti i browser adesso!!
    Ciao a tutti.

Commenti