ODPOCET CASU K URCITEMU DATUMU                             as3


    Toto je nie veľmi zložitý tutoriál ako vytvoriť jednudých odpočet času pre vašu web stránku či iný flash projekt. Užitočné pri odpočte zostávajúceho času do niakej udalosti či koncu napr. údržby kedy stránka musí byť odstavená. V tomto prípade to bude odpočet času ktorý zostáva do najbližších vianoc, samozrejme je len na vás k akému dátumu bude odpočítavať čas. Na konci by sme mali dostať niečo nasledovné:



     Začneme vytvorením nového actionscript 3.0 flash dokumentu. Celý princíp je založený iba na jednom dynamickom textovom poli, všetko ostatné okolo toho je čisto grafická záležitosť ktorú už nechám na vašom uvážení. Vložte novú vrstvu. Teraz by ste mali mať dve na časovej osi. Vložte 3 prázde keyframy do vrchnej, a jeden 2 framy dlhý do spodnej osi. Vyberte druhú vrstvu a vložte dynamické textové pole. Do jeho instance name napíšte timeString. Teraz označte vrstvu jedna, frame jedna, zmačknite F9 (otvorí sa action pannel) a vložte nasledovný actionscript kód.




var christmas:Date = new Date(2012, 11, 25, 0, 0, 0, 0);

var now:Date = new Date();
if (now >= christmas) {
	gotoAndStop(3);
}

var timeDiff:Number = christmas.getTime() - now.getTime();
var seconds:Number = Math.floor(timeDiff / 1000);
var minutes:Number = Math.floor(seconds / 60);
var hours:Number = Math.floor(minutes / 60);
var days:Number = Math.floor(hours / 24);	

hours %= 24;
minutes %= 60;
seconds %= 60;

	var hourZero:String = new String();
	var minuteZero:String = new String();
	var secondZero:String = new String();
	
	if (seconds < 10)
	{
		secondZero = "0";
	}
	else
	{
		secondZero = "";
	}
	
	if (minutes < 10)
	{
		minuteZero = "0";
	}
	else
	{
		minuteZero = "";
	}
	
	if (hours < 10)
	{
		hourZero = "0";
	}
	else
	{
		hourZero = "";
	}
	

var timeRemaining:String = days +":"+ hourZero + hours +":"
							+ minuteZero+ minutes + ":" +secondZero+ seconds;
timeString.text = timeRemaining;




     Riadok jedna definuje čas a dátum ku ktorému chete odrátavať. V tomto prípade vianoce (rok, mesiac-1, den, hodiny, minuty, sekundy a milisekundy).Riadok 3 uloží súčastný dátum do novej premennej. Riadky 4-6 zisťujú či je to pred alebo po vianociach. Ak je to po stanovenom dátume, tak táto if podmienka posunie scénu na frame 3. Riadok 8 vyrátava rozdiel medzi dnešným dátumom a vianocami v milisekundách. Riadky 9-16 prevedú zostávajúci čas do vianoc v milisekundách na dni, hodiny, minuty, a sekuny. Keďže date() nevracia dvojciferné hodnoty pre čas od 0-9,riadky 18-48 ošetrujú tento problém pridávaním jednej 0 k hodinám, minútam a sekundám pre hodnoty od 0 do 9. Riadok 50 pozbiera tieto hodnoty a uloží ich do jednej premennej typu string. Riadok 52 potom pošle tento string do dynamického textového poľa a zobrazí ho na scéne.



STIAHNUT ZDROJOVY SUBOR