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.
Şimdi de F9 tuşu ile Action (Eylemler) paneline şu kodları yazalım.
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();
}



#1 by Hasan Tekin on 04 Aralık 2010 - 13:34
Teşekürler güzel ders.