1.767 kez okundu

Flash AS3 ile Dijital Saat ve Takvim Yapımı

10 10 1.767 kez okundu incelendi

Sistem saatini kullanarak dijital saat yapımını görelim.

Sistemin saat ve tarih bilgilerini kullanarak uygulamalarımızda tarihi ve zamanı gösterebiliriz. 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();

Gelen aramalar :

Paylaş !

Yoruma kapali.

Önceki yazıyı okuyun:
Java da dairenin alanı nasıl hesaplanır

Merhaba arkadaşlar; Bu dersimizde size dairenin alanını hesaplamayı basit bir şekilde göstereceğim; Aşağıdaki kodları yorum satırlarını dikkate alarak anlamaya çalışın:

Kapat
Barış Ozcan Facebook Sayfasi
Barış Ozcan Twitter