Flash Gallery | Flash Templates | Flash Menu | Flash Design | Flash Audio & Video

Video Corsi Actionscript 3.0


+ Reply to Thread
Results 1 to 3 of 3

Thread: Creare un orologio con Flash CS3 - parte seconda

  1. #1
    Administrator Living At The FlepStudio! Flep is on a distinguished road
    Join Date
    Jul 2007
    Posts
    5,452
    Rep Power
    8

    Creare un orologio con Flash CS3 - parte seconda

    amazing Flash templates
    Ecco la seconda parte di questo tutorial.
    Diciamo pure che il grosso è stato fatto nell' articolo precedente: la parte prima di come creare un orologio e abbiamo visto come formattare il tempo universale che lo script PHP ci passa.
    Oggi vedremo come fare per incrementare il tempo che prendiamo dal server in modo da ottenere un orologio digitale con la data del giorno a tutti gli effetti.

    Dunque, cosa vi dice la logica se noi, una volta recuperata la data dal server, la incrementiamo di una unità ( dato che è in secondi ) al secondo utilizzando la Classe Timer ?

    Apriamo il file Orario.as e alla riga 63, al posto di chiamare la funzione initTime una volta sola, la chiamiamo utilizzando un Timer.
    Quindi, rinominiamo la chiamata initTime con callInitTime().

    A questo punto creo una nuova funzione che si chiama appunto callInitTime, in questo modo:
    Code:
    private function callInitTime():void
    {
    	var timer:Timer=new Timer(1000,0);
    	timer.addEventListener(TimerEvent.TIMER,initTime);
    	timer.start();
    }
    adesso stiamo chiamando la funzione initTime una volta al secondo utilizzando un Timer.
    Ci rimane solo da incrementare il valore della variabile serverTime di una unità ogni volta.
    In questo modo:
    Code:
    serverTime++;
    Per cui ogni volta il valore di serverTime ( che abbiamo recuperato dal server ) sarà incrementato di un secondo, proprio ciò che avviene in un orologio.
    La nuova classe Orario.as diventerà così:
    Code:
    package
    {
    	import flash.display.MovieClip;
    	import flash.text.TextField;
    	import flash.net.URLLoader;
    	import flash.net.URLRequest;
    	import flash.net.URLVariables;
    	import flash.net.navigateToURL;
    	import flash.utils.Timer;
    	import flash.events.*;
    	
    	public class Orario2 extends MovieClip
    	{
    		private var days_array:Array;
    		private var months_array:Array;
    		
    		private var serverTime:Number;
    		
    		public function Orario2()
    		{
    			init();
    		}
    		
    		private function init():void
    		{
    			days_array=new Array('Domenica','Lunedi','Martedi','Mercoledi','Giovedi',
    			'Venerdi','Sabato');
    			months_array=new Array('Gennaio','Febbraio','Marzo','Aprile','Maggio',
    			'Giugno','Luglio','Agosto','Settembre','Ottobre','Novembre','Dicembre');
    			
    			callServer();
    		}
    		
    		private function callServer():void
    		{
    			var richiesta:URLRequest=new URLRequest();
    			richiesta.url='http://www.flepstudio.org/gettime.php';
    			var loader:URLLoader=new URLLoader();
    			addListeners(loader);
    			try 
    			{
    				loader.load(richiesta);
    			} 
    			catch (error:Error) 
    			{
    				trace('Unable to load requested document.');
    			}
    		}
    		
    		private function addListeners(d:IEventDispatcher):void
    		{
    			d.addEventListener(Event.COMPLETE,completato);
    		}
    		
    		private function completato(e:Event):void
    		{
    			var loader:URLLoader=URLLoader(e.target);
    			var vars:URLVariables=new URLVariables(loader.data);
    			serverTime=vars.time;
    			
    			callInitTime();
    		}
    		
    		private function callInitTime():void
    		{
    			var timer:Timer=new Timer(1000,0);
    			timer.addEventListener(TimerEvent.TIMER,initTime);
    			timer.start();
    		}
    		
    		private function initTime(t:TimerEvent):void
    		{
    			var server_milliseconds:Number=serverTime*1000;
    			
    			var real_date:Date=new Date(server_milliseconds);
    			
    			var hours:int=real_date.getHours();
    			var minutes:int=real_date.getMinutes();
    			var seconds:int=real_date.getSeconds();
    			var day_of_the_week:String=days_array[real_date.getDay()];
    			var day:int=real_date.getDate();
    			var month:String=months_array[real_date.getMonth()];
    			var year:int=real_date.getFullYear();
    			
    			var hours_str:String=hours.toString();
    			if(hours<10)
    				hours_str='0'+hours.toString();
    			var minutes_str:String=minutes.toString();
    			if(minutes<10)
    				minutes_str='0'+minutes.toString();
    			var seconds_str:String=seconds.toString();
    			if(seconds<10)
    				seconds_str='0'+seconds.toString();
    			
    			format_txt.text=hours_str+':'+minutes_str+':'+seconds_str+'\n'+
    			day_of_the_week+' '+day+' '+month+'\n'+year;
    			
    			serverTime++;
    		}
    	}
    }
    Ed ecco il risultato:










    Stay tuned !

  2. #2
    Junior Member Settled In Shantrik is on a distinguished road
    Join Date
    Aug 2008
    Posts
    4
    Rep Power
    0

    Riferimento: Creare un orologio con Flash CS3 - parte seconda

    Ciao Flep complimenti per il lavoro di condivisione per la comunità
    premetto che di actionscript poca roba e sicuramente avrò fatto
    qualche errore di comprensione.
    - Una cosa ma il codice php dove devo collocarlo?
    - Poi nell'esportazione del file mi da questo errore:
    ReferenceError: Error #1056: Impossibile creare la proprietà format su Orario2.
    at flash.display::Sprite/constructChildren()
    at flash.display::Sprite()
    at flash.display::MovieClip()
    at Orario2()

  3. #3
    Moderator Moving My Stuff To The FlepStudio OrientExpress is on a distinguished road OrientExpress's Avatar
    Join Date
    Aug 2009
    Posts
    1,279
    Rep Power
    2

    Re: Creare un orologio con Flash CS3 - parte seconda

    Facci vedere il codice Actiosncript che usi

+ Reply to Thread

Similar Threads

  1. Come aprire una seconda finestra in flash
    By archimede_47 in forum Flash Italiano
    Replies: 0
    Last Post: 03-01-10, 18:30
  2. Orologio in flash come caricarlo su sito joomla
    By gretagaia in forum CSS | HTML
    Replies: 0
    Last Post: 22-03-09, 12:19
  3. Replies: 0
    Last Post: 20-04-08, 09:56
  4. Come creare un orologio con Flash CS3 - prima parte
    By Flep in forum Articoli e tutorials
    Replies: 0
    Last Post: 20-09-07, 16:14
  5. Orologio analogico Flash CS3 + PHP
    By gheeeko in forum AIUTO utilità free
    Replies: 4
    Last Post: 24-08-07, 14:27

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts

Search Engine Optimization by vBSEO