La Classe Timer in Actionscript 3.0

(scritto da , il giorno 11-04-2008 02:43)
add to my flexgala

Una nuova classe che è stata introdotta in Actionscript 3.0 è la Timer. Questa classe permette, sulla falsa riga di setInterval, di gestire in un determinato lasso di tempo determinate informazioni. In questo tutorial creeremo un orologio analogico le cui l'impostazione delle lancette saranno gestite tramite questa classe

Una nuova classe che è stata introdotta in Actionscript 3.0 è la Timer. Questa classe permette, sulla falsa riga di setInterval, di gestire in un determinato lasso di tempo determinate informazioni. In questo tutorial creeremo un orologio analogico le cui lancette saranno appunto impostate tramite questa classe.

La classe Timer è l'interfaccia per i timer di Flash Player. Per poter utilizzare questa classe basterà impostare il metodo start() per avviarla.

È possibile creare oggetti Timer che vengono eseguiti una volta oppure si ripetono a intervalli prestabiliti per eseguire il codice in una pianificazione. A seconda della velocità di esecuzione della timeline del file SWF o dell'ambiente Flash Player , il player stesso, potrebbe inviare gli eventi a intervalli leggermente sfalsati. Almeno stando alla documentazione ufficiale.

L'uso della classe Timer è sicuramente consigliata come ottimo sostituto del setInterval, permettendo di lavorare con maggiore precisione ed evitare un inutile spreco di risorse di RAM, e soprattutto migliora le prestazione anche se sostituto con la costante ENTER_FRAME della classe Event.

Per questo lavoro utilizzeremo ovviamente Flash CS3.
Sullo stage poniamo 3 movie clip (istanza dello stesso oggetto): una barra verticale con punto di registrazione in basso.
Queste tre clip si chiameranno: secondi_mc, minuti_mc, ora_mc.

<codice Flex 2/Actionscript 3>

  1. import flash.events.TimerEvent;
  2.  
  3. var ora:TextField=new TextField();
  4. var tempo:Timer=new Timer(1000);


Abbiamo inserito la classe necessaria a gestire gli eventi legati alla classe Timer, quindi abbiamo creato un'istanza della classe TextField  dove riscrivere l'orario effettivo.

Ora inseriamo semplicemente la funzione ed il listener necessari:

<codice Flex 2/Actionscript 3>

  1. function lancetta(e:TimerEvent)
  2. {
  3. var orario:Date=new Date();
  4. secondi_mc.rotation=(orario.getSeconds()*(360/60));
  5. ora_mc.rotation=(orario.getHours()*(360/12));
  6. minuti_mc.rotation=(orario.getMinutes()*(360/60));
  7. ora.text=orario.getHours()+":"+orario.getMinutes()+":"+orario.getSeconds();
  8. }
  9. tempo.addEventListener(TimerEvent.TIMER, lancetta);
  10. tempo.start();

Come noterete abbiamo impostato le proprietà di rotazione delle lancette suddividendo i 360 gradi di rotazione.
Al termine rimane il listener con il metodo start per avviare le animazioni.

Riassumendo quindi:

<codice Flex 2/Actionscript 3>

  1. import flash.events.TimerEvent;
  2.  
  3. var ora:TextField=new TextField();
  4. var tempo:Timer=new Timer(1000);
  5. addChild(ora);
  6.  
  7. function lancetta(e:TimerEvent)
  8. {
  9. var orario:Date=new Date();
  10. secondi_mc.rotation=(orario.getSeconds()*(360/60));
  11. ora_mc.rotation=(orario.getHours()*(360/12));
  12. minuti_mc.rotation=(orario.getMinutes()*(360/60));
  13. ora.text=orario.getHours()+":"+orario.getMinutes()+":"+orario.getSeconds();
  14. }
  15. tempo.addEventListener(TimerEvent.TIMER, lancetta);
  16. tempo.start();



Commenti (0)

Registrati ed esegui il login se vuoi lasciare un commento

Visualizza l'articolo in formato pdfScarica o stampa l'articolo "La Classe Timer in Actionscript 3.0" in formato PDF

Torna indietro
Per collaborazioni, proposte, segnalazioni scrivete a:

Javaday 2010




  •  
    Articoli
     
  •  
    Blogs
     
  •  
    Eventi
     
  •  
    Layout
     
  •  
    in più
     
 

Utilizzare i Charts components in Flex 3 - I° parte (07-01-2010)
Una delle potenzialità messe a disposizione nel Flex Builder, nelle Flex SDK e nel futuro Flash Builder, è la possibilità di utilizzare i Charts...

JavaDay a Roma il 30 gennaio 2010 (11-12-2009)
Anche quest'anno si terrà a Roma - presso l'Università di Roma Tre - l'attesissimo evento JAVADAY oggi giunto alla 4° edizione. Una full...

Adobe AIR 2 beta su Adobe Labs (09-12-2009)
Già da qualche giorno è disponibile la nuova versione beta di Adobe AIR. Molte sono le novità che questa release presenta. Anzitutto, dato il...

FITC 2010: pronti per la 3° edizione! (22-11-2009)
Nel 2010 si terrà ad Amsterdam il 22 e 23 febbraio: segnate queste date sulla vostra agenda, mi raccomando! E' assolutamente vietato mancare! E...

Verso la creazione di Rich Web Applications con le novità di Spring 3.0 e l'integrazione con Adobe Flex (18-11-2009)
Un evento unico, completamente gratutito, condensato in 3 ore dense di contenuti e anteprime. Per la prima volta in Italia verrà presentata...

Nuovi e-seminar per FlexGALA in calendario (09-11-2009)
Come preannunciato lo scorso settembre, alla ripresa post-vacanze, eccoci con il primo appuntamento al quale faranno seguito altri eventi in...

Working on New and Legacy topics in the same time.
Author : Flexblog by Faratasystems

This very long weekend I was working on my presentations for upcoming Flex symposium in New York City. I have two topics there that should have...


continua...

Microsoft SharePoint 2010 Administrator's Companion
Author : O'Reilly New Books

Get comprehensive information to plan, deploy, administer, and support SharePoint 2010. With this ADMINISTRATOR'S COMPANION, you get...


continua...

apri dettaglio news Programming Windows Identity Foundation
Author : O'Reilly New Books


apri dettaglio news Steal This Computer Book 4.0
Author : O'Reilly New Books


JavaDay IV edizione

Data di svolgimento: 30-01-2010

A day in a differtent universe è quello che si...

Rich Web Applications con Spring Training

Data di svolgimento: 30-11-2009

Un evento unico, completamente gratutito, conde...

WorkCity ospite allo SMAU 2009

Data di svolgimento: 21-10-2009

WorkCity, nato da un'idea del nostro collaborat...

Integrare LiveCycle DS nelle architetture Enterprise

Data di svolgimento: 27-11-2008

Livecycle DS e Flex 3 sono le soluzioni di ...

Live Cycle DS best practices: creare architetture per RIA

Data di svolgimento: 05-11-2008

Livecycle DS e Flex 3 rappresentano insieme il ...

Adobe e l\'Open Source: usare le tecnologie aperte di Adobe

Data di svolgimento: 28-10-2008

Non solo licenze a pagamento: Adobe ha detto sÃ...