ActionScript 3.0 Sayaç Yapımı


Yapacağımız çalışma zamanla ilgili olduğundan dolayı Timer sınıfını kullanacağız. Kodlamaya geçmeden önce sahneye dinamik text alanı ekleyelim, text alanının içerisine 30 yazalım ve instance name (Örnek Adı) kısmına sayac_txt yazalım. Sonra sahneye iki tane buton ekleyelim ve butonların instance name (Örnek Adı) kısmına birine baslat_btn, diğerine de durdur_btn yazalım. Timeline’da katman adını butonVeText olarak değiştirelim ve yeni bi layer ekleyerek ismini Action olarak değiştirelim. Yazacağımız kodları bu layerdaki Anahtar kareye yazacağız.

ZamanCizelgesi

Şimdi de F9 tuşu ile Action (Eylemler) paneline şu kodları yazalım.

/*ilk olarak sayacımızı tanımlıyoruz, parantez içerisindeki parametlerin ilk değer
sayacın kaç milisaniyede bir çalışacağını belirliyor,
saniye bazında işlem yapacağımız için değeri 1000 olarak girdik,
ikincisi ise kaç defa tekrar edeceğini belirliyor, yani sayacımız
30 saniye boyunca geriye doğru sayacak
*/

var sayac:Timer=new Timer(1000,30);

/*sayaç çalışmaya başladığında kalan sürenin ne kadar olduğunu bulabilmek için
kalan isimli bir değişken tanımlıyoruz, fakat değişkene şimdilik bir değer atamayacağız.
*/

var kalan:Number;

//baslat_btn butonuna olay dinleyici atayarak butona tıklandığında sayacın çalışmasını sağlıyoruz.
baslat_btn.addEventListener(MouseEvent.CLICK, baslat);
function baslat(e:MouseEvent) {
    sayac.start();
}


//sayaça bir olay dinleyici atıyoruz
sayac.addEventListener(TimerEvent.TIMER, geriSay);
function geriSay(e:TimerEvent) {
    /*kalan değişkenine kalan süreyi değer olarak atıyoruz.
    kalan süreyi hesaplamak için sayac değişkenini tanımlarken
    parantez içerisine girdiğimiz tekrar sayısından(repeatCount),
    şu ana kadar kaç defa tekrarlamış olduğunu bularak çıkartıyoruz(currentCount.
    */

    kalan=sayac.repeatCount-sayac.currentCount;
    /*kalan değişkeninin değerini sahnedeki dinamik text alanına yazdırıyoruz
    fakat sayısal bir değeri, metinsel bir veri olarak yazdıramayacağımız için
    kalan değişkenini String (metinsel) bir veriye dönüştürüyoruz.
    */

    sayac_txt.text=kalan.toString();
    //Eğer iki sayıda birbirine eşitse, yani sayaç sıfırlandıysa
    if (sayac.currentCount==sayac.repeatCount) {
        //sahnedeki metin alanına yazılacak yazı
        sayac_txt.text="Süre Bitti";
        /*sayacı resetliyoruz ki başlat butonuna tekrar bastığımıza
        - değerler çıkmasın ve sayaç 30 saniyeden geriye doğru saysın.
        */

        sayac.reset();
    }
}

//durdur_btn butonuna olay dinleyici atayarak butona tıklandığında sayacın durmasını sağlıyoruz.
durdur_btn.addEventListener(MouseEvent.CLICK, durdur);
function durdur(e:MouseEvent) {
    sayac.stop();
}
Örnek çalışma dosyasını indirebilmek için siteye üye olmanız gerekmektedir. Siteye üye olmak için tıklayın.

, , , , , ,

  1. #1 by Hasan Tekin on 04 Aralık 2010 - 13:34

    Teşekürler güzel ders.

(yayınlanmayacak)

Login with Facebook:
 

Additional comments powered by BackType