Oggi è ven ago 29, 2008 2:37 pm

Tutti gli orari sono UTC




Apri un nuovo argomento Rispondi all’argomento  [ 13 messaggi ]  Vai alla pagina 1, 2  Prossimo
Autore Messaggio
 Oggetto del messaggio: Realizzare un orologio digitale in Flash
MessaggioInviato: gio mag 22, 2008 12:33 am 
Avatar utente
Non connesso
Moderatore
Moderatore

Iscritto il: lun mar 31, 2008 10:50 am
Messaggi: 111
Località: Cosenza
Questa è una piccola guida su come realizzare un orologio digitale in flash come quelli che si possono trovare sparsi per il web.

Il nostro orologio sarà semplice, sia perchè useremo del codice actionscript molto intuitivo e sia perchè si baserà sulla data del computer sul quale esso viene riprodotto, che potrebbe essere sbagliata o comunque diversa rispetto a quella universale di un web server.

Bene, apriamo un nuovo File Flash (Actionscript 2.0), magari salviamolo con il nome che vogliamo e cominciamo ad inserire un livello nella timeline che chiamiamo "actions" e che blocchiamo subito.

Inseriamo altri 2 livelli, che chiamiamo rispettivamente "campi" e "grafica".

Sul livello grafica disegniamo una sorta di orologio con un bel display ampio e sul livello campi posizioniamo due campi di testo dinamico ai quali diamo come nome istanza "info" e "info2".
In particolare ad "info" lasciamo impostato l'allineamento del testo a sinistra e lo posizioniamo in modo che il suo lato sinistro vada a compaciare con il lato sinistro interno del display.
A "info2" impostiamo l'allineamento del testo a destra e analogamente a "info" facciamo compaciare il suo lato destro con il lato destro interno del display.
Alla fine di queste semplici operazioni ecco come dovrebbe essere il nostro stage:



Adesso non ci resta che realizzare il "motore" del nostro orologio.
Selezioniamo il primo fotogramma del livello "actions" ed apriamo il pannello Azioni (tasto F9 oppure dal menu Finestra -> Azioni).
Il codice da inserire è:

Codice:
//Questo è un commento, ci aiuterà a capire cosa stiamo facendo passo passo
var myDate:Date = new Date(); /*Anche questo è un commento. Chiediamo a Flash di fornirci la data corrente, che assegniamo alla variabile myDate*/
mese=myDate.getMonth(); /*Dichiariamo la variabile mese che inizializziamo subito con il mese corrente restituitoci dal metodo getMonth(). Stessa politica per giorno della settimana,ore,minuti e secondi*/
giorno = myDate.getDay();
ora=myDate.getHours();
minuti=myDate.getMinutes();
secondi=myDate.getSeconds();

/*Adesso dobbiamo rappresentare i dati che abbiamo letto in modo opportuno. Il metodo getMonth() ci restituisce il mese sotto forma di numero (Da 0 a 11) e in base a questo valore noi mostreremo il mese in forma letterale. Stessa cosa per il giorno della settimana (Da 0 a 6). Per ore, minuti e secondi invece c'è il problema che i numeri da 0 a 9 vengono rappresentati con una sola cifra e noi vogliamo che il nostro orologio li rappresenti con 2 cifre (per intenderci ad esempio il numero 9 verrà mostrato come 09) come siamo abituati a vederli. Lo strumento che fa a caso nostro e il costrutto switch, che ci permette di controllare più condizioni su una variabile e eseguire delle operazioni al verificarsi di una di queste. In particolare lo switch legge il valore della variabile e se questo coincide con uno dei casi contemplati vengono eseguite le operazioni sepcificate in quel caso.*/

switch(secondi){
   case 0: secondi="00";break;
   case 1: secondi="01";break;
   case 2: secondi="02";break;
   case 3: secondi="03";break;
   case 4: secondi="04";break;
   case 5: secondi="05";break;
   case 6: secondi="06";break;
   case 7: secondi="07";break;
   case 8: secondi="08";break;
   case 9: secondi="09";break;
}
switch(minuti){
   case 0: minuti="00";break;
   case 1: minuti="01";break;
   case 2: minuti="02";break;
   case 3: minuti="03";break;
   case 4: minuti="04";break;
   case 5: minuti="05";break;
   case 6: minuti="06";break;
   case 7: minuti="07";break;
   case 8: minuti="08";break;
   case 9: minuti="09";break;
}
switch(ora){
   case 0: ora="00";break;
   case 1: ora="01";break;
   case 2: ora="02";break;
   case 3: ora="03";break;
   case 4: ora="04";break;
   case 5: ora="05";break;
   case 6: ora="06";break;
   case 7: ora="07";break;
   case 8: ora="08";break;
   case 9: ora="09";break;
}
switch(giorno){
   case 0: giorno="Dom";break;
   case 1: giorno="Lun";break;
   case 2: giorno="Mar";break;
   case 3: giorno="Mer";break;
   case 4: giorno="Gio";break;
   case 5: giorno="Ven";break;
   case 6: giorno="Sab";break;
}
switch(mese){
   case 0: mese="Gennaio";break;
   case 1: mese="Febbraio";break;
   case 2: mese="Marzo";break;
   case 3: mese="Aprile";break;
   case 4: mese="Maggio";break;
   case 5: mese="Giugno";break;
   case 6: mese="Luglio";break;
   case 7: mese="Agosto";break;
   case 8: mese="Settembre";break;
   case 9: mese="Ottobre";break;
   case 10: mese="Novembre";break;
   case 11: mese="Dicembre";break;
}

/*Adesso dobbiamo mandare in output il tutto. Assegniamo al campo "info" giorno,mese e anno( restituitoci dal metodo getFullYear() )concatenati fra loro, avendo premura di inserire degli spazi*. A "info2" assegniamo ore, minuti e secondi, separati da :*/

info.text=giorno+" "+myDate.getDate()+" "+mese+" "+myDate.getFullYear();

info2.text=ora+":"+minuti+":"+secondi;

Ora usciamo dal pannello Azioni ed inseriamo nel livello "actions" un secondo fotogramma chiave (tasto destro sul fotogramma vuoto e scegliamo "Inserisci fotogramma chiave" oppure dal menu Inserisci -> Linea temporale -> Fotogramma chiave o ancora semplicemente premendo il tasto F6) al quale diamo come azione:

Codice:
gotoAndPlay(1); //Riproduci dal fotogramma 1


Inoltre inseriamo un fotogramma semplice (tasto destro sul fotogramma vuoto e scegliamo "Inserisci fotogramma" oppure dal menu Inserisci -> Linea temporale -> Fotogramma o ancora semplicemente premendo il tasto F5) dopo il primo fotogramma di ognuno degli altri 2 livelli.
Questa procedura servirà a far scorrere il tempo, perchè il continuo passaggio da un fotogramma all'altro aggiornerà le variabili in gioco.



In foto viene mostrato come inserire un campo di testo dinamico, un nuovo livello e un fotogramma chiave.


Non ci resta che salvare e pubblicare il nostro orologio digitale che dovrebbe presentarsi più o meno [url=http://mr87.altervista.org/clock.html]così[/url].
Da [url=http://www.isola-atlantide.com/downloads-file-26.html]qui[/url] invece potete scaricare il file sorgente.
Buon divertimento!

_________________
Voce di uno che grida nel deserto:"Preparate la via del Signore, raddrizzate i suoi sentieri"!


Top
 Profilo  
 
 Oggetto del messaggio: Re: Realizzare un orologio digitale in Flash
MessaggioInviato: gio mag 22, 2008 9:59 am 
Avatar utente
Connesso
Founder
Founder

Iscritto il: gio ago 09, 2007 11:35 am
Messaggi: 1352
Località: Roma
Grazie mr87 per questo graditissimo tutorial !

Mettiamolo in rilievo per un pochettino :bir:

Oggi ci provo io, rimani a disposizione per eventuali problemi :ok:

_________________
Immagine
Immagine

Immagine


Top
 Profilo E-mail  
 
 Oggetto del messaggio: Re: Realizzare un orologio digitale in Flash
MessaggioInviato: gio mag 22, 2008 12:30 pm 
Avatar utente
Non connesso
Moderatore
Moderatore

Iscritto il: lun mar 31, 2008 10:50 am
Messaggi: 111
Località: Cosenza
Di nulla supercapocc :ok: spero di essere stato di aiuto!
Per qualsiasi problema sono qui.

_________________
Voce di uno che grida nel deserto:"Preparate la via del Signore, raddrizzate i suoi sentieri"!


Top
 Profilo  
 
 Oggetto del messaggio: Re: Realizzare un orologio digitale in Flash
MessaggioInviato: gio mag 22, 2008 6:10 pm 
Avatar utente
Connesso
Founder
Founder

Iscritto il: gio ago 09, 2007 11:35 am
Messaggi: 1352
Località: Roma
domandina : come salvo tutto il lavoro in un unico file .swf?

edit : ci sono riuscito, ecco il mio primo orologietto !

swf Formato fimato : swf




domanda : come taglio tutto il contorno non necessario ?

_________________
Immagine
Immagine

Immagine


Top
 Profilo E-mail  
 
 Oggetto del messaggio: Re: Realizzare un orologio digitale in Flash
MessaggioInviato: gio mag 22, 2008 6:37 pm 
Avatar utente
Non connesso
Moderatore
Moderatore

Iscritto il: lun mar 31, 2008 10:50 am
Messaggi: 111
Località: Cosenza
Grande supercapocc! Mi piace!
Comunque basta che imposti le dimensioni dello stage in modo che contengano esattamente l'orologio.

_________________
Voce di uno che grida nel deserto:"Preparate la via del Signore, raddrizzate i suoi sentieri"!


Top
 Profilo  
 
 Oggetto del messaggio: Re: Realizzare un orologio digitale in Flash
MessaggioInviato: gio mag 22, 2008 6:44 pm 
Avatar utente
Connesso
Founder
Founder

Iscritto il: gio ago 09, 2007 11:35 am
Messaggi: 1352
Località: Roma
ok, adesso che ho capito la dinamica :clap:

ehi, cmq ti posso consigliare di modificare il post inserendo un altro paio di screenshot in particolare come si fa a inserire un fotogramma, lo strumento testo dinamico e altri dettagli tecnici.

giusto per chi si affaccia per la prima volta su questo software :snow:

_________________
Immagine
Immagine

Immagine


Top
 Profilo E-mail  
 
 Oggetto del messaggio: Re: Realizzare un orologio digitale in Flash
MessaggioInviato: ven mag 23, 2008 5:50 pm 
Avatar utente
Non connesso
Apprendista
Apprendista

Iscritto il: sab mag 17, 2008 3:25 pm
Messaggi: 47
Località: Locri
ottima guida paesà

_________________
Meglio Morire In Piedi Che Vivere In Ginocchio !


Top
 Profilo E-mail  
 
 Oggetto del messaggio: Re: Realizzare un orologio digitale in Flash
MessaggioInviato: ven mag 23, 2008 8:55 pm 
Avatar utente
Non connesso
Moderatore
Moderatore

Iscritto il: lun mar 31, 2008 10:50 am
Messaggi: 111
Località: Cosenza
Ho fatto del mio meglio :ok: spero aiuti!

_________________
Voce di uno che grida nel deserto:"Preparate la via del Signore, raddrizzate i suoi sentieri"!


Top
 Profilo  
 
 Oggetto del messaggio: Re: Realizzare un orologio digitale in Flash
MessaggioInviato: ven mag 23, 2008 9:13 pm 
Avatar utente
Connesso
Founder
Founder

Iscritto il: gio ago 09, 2007 11:35 am
Messaggi: 1352
Località: Roma
sicuramente ha aiutato me, adesso ci sto prendendo la mano :uz:

swf Formato fimato : swf



la grafica è fatta con photoshop, con una shape che ho scaricato su deviant art, ho anche quella dell'alfa romeo, se a qualcuno interesasse.

flash-boy, adesso aspetto il tutorial per fare l'mp3 player :mrgreen:

_________________
Immagine
Immagine

Immagine


Top
 Profilo E-mail  
 
 Oggetto del messaggio: Re: Realizzare un orologio digitale in Flash
MessaggioInviato: ven mag 23, 2008 9:25 pm 
Avatar utente
Non connesso
Amministratore
Amministratore

Iscritto il: gio ago 16, 2007 11:12 am
Messaggi: 907
Località: In cima alla catena alimentare
E me lo dici solo adesso che hai il biscione in flash :gufo:

_________________
Immagine


Top
 Profilo  
 
Visualizza ultimi messaggi:  Ordina per  
Apri un nuovo argomento Rispondi all’argomento  [ 13 messaggi ]  Vai alla pagina 1, 2  Prossimo

Tutti gli orari sono UTC


Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite


Non puoi aprire nuovi argomenti
Non puoi rispondere negli argomenti
Non puoi modificare i tuoi messaggi
Non puoi cancellare i tuoi messaggi
Non puoi inviare allegati

Vai a:  
SitemapIndex SitemapIndex RSS Feed RSS Feed Channel list Channel list
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Traduzione Italiana phpBB.it
phpBB SEO