Bilgisayarın saat ve tarihi sayesinde sizde Flash'a bir saat ekliyebilirsiniz. Sadece bu bilgileri göstermekle
kalmayıp kullandığımız sembollerin açılarını değiştirebilir, günün
belirli zamanlarında farklı mesajlar verebiliriz. Hatta biraz daha
abartıp farklı arkaplanlar kullanarak gündüz ya da gece saatlerinde
uygulamanın arayüzünün farklı görünmesini sağlayabiliriz. Buradaki
sınır hayal gücümüze kalıyor. Eğer kullanıcının bilgisayarındaki saat
ve tarih yanlış ise uygulamamızda ki tarih ve saatte yanlış
görüntülenecektir. Bunun sebebi ise ActionScript’in İstemci Taraflı bir
kodlama dili olmasıdır.
Uygulamamızda tarih ve saat kısacası zaman ile ilgili bilgileri
vermek istiyorsak Date() sınıfını kullanmamız gerekmektedir. Date
sınıfı içerisinde bir çok veriyi barındırmaktadır. Bu tip veriler
karmaşık veri tipi olarak isimlendirilirler. Date sınıfının hangi
verileri barındırdığını görebilmek için aşağıdaki kodları Actions
paneline yazalım.
[cc lang="ActionScript"]var zaman:Date = new Date();
trace(zaman)
[/cc]
Output paneline o anki zaman değerleri yazılacaktır. Bu değerler
sırası ile Gün ismi, ay ismi, ayın kaçıncı günü olduğu, saat, GMT
saatine göre yerel saat ve yıl bilgileridir. Görüldüğü gibi almak
istediğimi bilgilere karmaşık bir şekilde ulaştık. Fakat bu bilgiler
anlıktır. Dikkat ederseniz saatteki saniye değeri uygulama çalıştığı
andaki saniye değerinde kalır ve değişmez, değişmesi için uygulamanın
sürekli çalışması gerekmektedir. Bir de bu değerleri düzenleyerek
kullanıcıya düzgün bir şekilde aktarmak gerekecek. Bu bilgileri
istediğimiz formatta düzenleyebilmek için Date sınıfının metotlarını
kullanabiliriz. Böylece oluşturduğumuz zaman nesnesinin içerisinden
ihtiyacımız olan bilgileri alarak düzenleyebiliriz. Sınıfın içerisinden
istediğimiz bilgileri almak için aşağıdaki metotları kullanabiliriz.
zaman.getDay();//Haftanın kaçıncı günü olduğunu verir.
//Haftanın ilk günü Pazar olarak verilmiştir. Yani haftanın 0. günü Pazar olarak kabul edilir.
zaman.getMonth();//Yılın kaçıncı ayında olduğumuzu verir.
zaman.getDate();//Ayin kaçıncı gününde olduğumuzu verir.
//Burada da 0 değer Ocak ayına eşittir.
zaman.getFullYear();//içinde bulnduğumuz yılı verir.
zaman.getHours();//saat bilgisini verir.
zaman.getMinutes();//dakika bilgisini verir.
zaman.getSeconds();//saniye bilgisini verir.
zaman.getMilliseconds();//milisaniye bilgisini verir.
Date sınıfının içerisinden istediğimiz bilgileri aldık. Sıra geldi bu
bilgileri sürekli güncellenmesine; güncellemeyi sağlamak için Bir olay
tetikleyiciye ihtiyacımız olacak. Olay tetikleyici olarak ENTER_FRAME
ya da Timer kullanabiliriz. Ben bu uygulamada Timer kullandım.
Artık uygulamamızı oluşturabiliriz. İlk olarak sahne üzerine iki adet
dinamik metin kutusu oluşturalım ve Instance Name kısımlarına
tarih_txt ve saat_txt yazalım.
Uygulamamızda kullanacağımız nesneler bu kadar. Şimdi de Actions panelini açarak aşağıdaki kodları yazalım.
//bir Timer nesnesi oluşturuyoruz süre olarakta 1 milisaniye değerini giriyoruz
var sayac:Timer = new Timer(1);
//oluşturduğumuz timer nesnesine bir olay dinleyici atıyoruz
sayac.addEventListener(TimerEvent.TIMER, zamaniGoster);
function zamaniGoster(e:TimerEvent) {
//zaman isimli yeni bir nesne oluşturuyoruz
var zaman:Date= new Date();
//içerisinde gün isimlerinin olduğu bir dizi oluşturuyoruz
var gunler:Array=new Array("Pazar", "Pazartesi", "Salı", "Çarşamba", "Perşembe", "Cuma", "Cumartesi");
//ay isimlerinin içerisinde olduğu bir dizi oluşturuyoruz
var aylar:Array = new Array("Ocak", "Şubat", "Mart", "Nisan", "Mayıs", "Haziran", "Temmuz", "Ağustos", "Eylül", "Ekim", "Kasım", "Aralık");
//kullanacağımız değişkenlerimizi tanımlamaya başlıyoruz.
//tanımladığımız değişkenler haftanın kaçıncı gününde, yılın kaçıncı ayında,
//ayın kaçıncı gününde olduğumuzgibi bilgileri içerecekler
//bu değişkenleri kullanarak oluşturduğumuz dizilerin elemanlarını sahnedeki metin alanına yazdıracağız.
var haftaninGunu = zaman.getDay();
var hangiAy = zaman.getMonth();
var ayinGunu = zaman.getDate();
var yil = zaman.getFullYear();
//zaman nesnesini kullanarak saat ile ilgili bilgileri alıp
//tanımladığımız değişkenlere değer olarak atıyoruz
//if koşullu ifadesi ile de gelen değerler 10'dan küçükse başına 0 ilave ediyoruz ki
//değerler tek haneli olarak yazdırılmasın(Örn.= 3 yerine 03 vb.)
var saat = zaman.getHours();
if (saat<10) {
saat="0"+saat;
}
var dakika = zaman.getMinutes();
if (dakika<10) {
dakika="0"+dakika;
}
var saniye = zaman.getSeconds();
if (saniye<10) {
saniye="0"+saniye;
}
//saat ile ilgili değerleri sahne üzerindeki saat_txt isimli metin kutusuna yazdırıyoruz
//değerler arasına : ekleyerek birbirinden ayrılmasını sağlıyoruz.
saat_txt.text=saat + " : " +dakika + " : "+ saniye;
//tarih ile ilgili değerleri sahne üzerindeki tarih_txt isimli metin kutusuna yazdırıyoruz
//değerler arasına boşluk ekleyerek değerlerin birbirinden ayrılmasını sağlıyoruz.
tarih_txt.text = ayinGunu + " " + aylar[hangiAy] +" "+ yil+" " + gunler[haftaninGunu] ;
}
//sayacı çalıştırıyoruz
sayac.start();
İşte bu kadar.