AS 3.0 Dijital Saat ve Takvim Yapımı

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

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 zamanate = 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 zamanate= 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();

  • Etiketler;
Erol Demirer
1978 yılının en sıcak zamanlarından sayılabilecek Ağustos ayının 23. günü saat 16.30 sıralarında dünyaya gelmiş, yaptığı son dakika atağı ile Aslan burcuna yetişmiştir. <p>İlk ve Ortaokul öğrenimini İzmit’te tamamlamıştır. Lise yıllarına İstanbul Şişli Endüstri Meslek Lisesi’nde başlamış olsa da bir süre sonra eğitim hayatına Kocaeli Endüstri Meslek Lisesi’nde devam etmiştir. Mesleğe olan ilgisi ortaokul yıllarında başlamış olup, o dönemde yaz tatillerinde küçük bir matbaada çalışarak hem meslek, hem de iş hayatına başlamıştır. <p>Çocukluk ve gençlik yılları İzmit’te geçmiştir. Bu zaman zarfı içerisinde çok sık gidip geldiği İstanbul’a yerleşmesi ise askerden sonra 2002 yılı başlarıdır. İstanbul’a yerleştikten sonra bir çok reklam ajansı ve kurumsal firmada Grafik Tasarımcı olarak çalışmıştır. Aynı zamanda Freelance olarakta çeşitli firmalarda çalışmıştır. Bu firmalardan bazıları Üçel Reklam Ajansı, Yüce Yayıncılık, Strateji Parkı, MacroMicro, Koleksiyon Mobilya sayılabilir. Çalışma hayatında bir çok başarılı projeye imza atmıştır. <p>Alanında uzman olduğu konulardaki bilgilerini insanlarla paylaşma isteği sayesinde atıldığı eğitmenlik macerasının başlangıcı ise 2005 yılına dayanmaktadır. Bu dönemde yolları Bilimer Bilişim Akademisi ile kesişmiş ve eğitmenlik hayatına başlamıştır. Bilimer’den sonra Akademi İstanbul’da da Eğitim Görevlisi olarak çalışmıştır. <p>Adobe Photoshop, Adobe Illustrator, Adobe Indesign, Adobe Acrobat Professional, Adobe Flash, Adobe Dreamweaver, Adobe Fireworks, QuarkXPress vb. programlar ile birlikte ActionScript 3.0 ve CSS üzerine de bireysel ve kurumsal eğitimler vermektedir. <p>2008 yılının sonunda Medyasoft’un açmış olduğu Adobe Publishing Expert sınavına katılmış ve sınavı başarı ile bitirerek Adobe Yayıncılık Uzmanı (APE) sertifikasını almaya hak kazanmıştır. <p>2009 yılı ile birlikte Medyasoft ile anlaşmaya varmış ve Medyasoft’un Milli Eğitim Bakanlığı ile birlikte yürütmüş olduğu bir projede Eğitim Görevlisi olarak çalışmaktadır. Proje kapsamında Türkiye’nin çeşitli ilerinde öğretmenlerimize Adobe Web Premium CS3 ve CS4 paketlerinin eğitimleri verilmektedir. <p>Eğitimlerin yanısıra ajans ya da firmalardan gelecek olan tekliflere (Freelance ya da tam zamanlı) açıktır.
Yorum Yaz

Yorum yazabilmek için üye girişi yapmanız gerekiyor!

Peki bişey sorabilr miyim saati geriye doğru nasıl ayarlıcaz mesela 12:00:00 dan geriye düşmesi için 00:00:00 olması ne yapmalıyız
Peki bişey sorabilr miyim saati geriye doğru nasıl ayarlıcaz mesela 12:00:00 dan geriye düşmesi için 00:00:00 olması ne yapmalıyız :hayret:
Onun için ayrı bir fonksiyon oluşturmak gerekir. Fırsat bulursam bi ders hazırlarım onunla ilgili.

Yukarı Git