Bu çalışmamızda AS 3.0 ile dört fonksiyonlu hesap makinesi yapacağız. İlk olarak sahne üzerinde ihtiyacımız olan objeleri yerleştirmeye başlayalım. İşlemlerde kullanılacak sayıların girilebilmesi için iki tane Input Text alanına ihtiyacımız var. Text alanlarını sahneye ekledikten sonra Properties panelinde Instance Name kısımlarına soldaki için giris1_txt, sağdaki içim giris2_txt yazalım. Sonrasında yapılacak işlemlerin sembolünü ve işlemlerin sonuçlarını göstermek için iki tane Dynamic Text alanına ihtiyacımız olacak. Semboller için olan metin alanını oluşturduğumuz Input Text alanlarının arasına, Sonuç için olan metin alanını ise alt kısma yerleştirelim. Instance Name kısımlarına semboller için olanına sembol_txt, sonuç için olanına ise sonuc_txt yazalım.
Çalışmada kullanılacak butonlar için Window > Components panelindeki User Interface seçeneğinin altında bulunan butonlardan beş tane gerekli. Butonların beşini de ekleyip tek tek ölçüleri ile uğraşmaktansa, önce bir tanesini ekleyelim ve boyutunu 35 x 20 piksel olarak ayarlayalım ve Alt tuşu ile 4 tane kopyasını oluşturalım. Sırasıyla Instance Name kısmına topla_btn, cikar_btn, bol_btn, carp_btn ve esittir_btn yazalım. esittir_btn isimli butonuda sağdaki giris2_txt metin kutusunun sağına alalım. Butonların üzerindeki yazıları kodlama tarafında değiştireceğiz.
Eğer gerekli tüm nesneleri sahne üzerine yerleştirdiysek, hesap makinemizi çalıştırmak için aşağıdaki kod bloğunu kullanabiliriz.
topla_btn.label= "+";
cikar_btn.label= "-";
bol_btn.label= "/";
carp_btn.label="x";
esittir_btn.label= "=";
//Intput Text'lere girilecek karakterleri sınırlandırıyoruz.
//yani sadece rakam ve nokta girilebilmesini sağlıyoruz.
giris1_txt.restrict = "0-9" + ".";
giris2_txt.restrict = "0-9" + ".";
//değişkenlerimizi tanımlıyoruz.
//giris1 ve giris2 Input Textlerin karşılığı olacak.
var giris1:String;
var giris2:String;
//seçilen işleme göre çıkan sonucu sonuç değişkenine atayacağız.
var sonuc:Number;
//değişkenin değerine göre hangi işlemin yapılacağını belirleyeceğiz.
var islemler:Number = 0;
//topla butonuna tıklandığında islemler değişkeninin değerini belirliyoruz.
//ve sahnedeki sembol_txt metin alanına + yazdırıyoruz.
topla_btn.addEventListener(MouseEvent.CLICK, topla);
function topla(e:MouseEvent) {
islemler = 1;
sembol_txt.text = "+";
}
//cikar butonuna tıklandığında islemler değişkeninin değerini belirliyoruz.
//ve sahnedeki sembol_txt metin alanına - yazdırıyoruz.
cikar_btn.addEventListener(MouseEvent.CLICK, cikar);
function cikar(e:MouseEvent) {
islemler = 2;
sembol_txt.text = "-";
}
//bol butonuna tıklandığında islemler değişkeninin değerini belirliyoruz.
//ve sahnedeki sembol_txt metin alanına / yazdırıyoruz.
bol_btn.addEventListener(MouseEvent.CLICK, bol);
function bol(e:MouseEvent) {
islemler = 3;
sembol_txt.text = "/";
}
//carp butonuna tıklandığında islemler değişkeninin değerini belirliyoruz.
//ve sahnedeki sembol_txt metin alanına x yazdırıyoruz.
carp_btn.addEventListener(MouseEvent.CLICK, carp);
function carp(e:MouseEvent) {
islemler = 4;
sembol_txt.text = "x";
}
//eşittir butonuna tıklandığında yapılacak işlemleri sıralıyoruz.
esittir_btn.addEventListener(MouseEvent.CLICK, esittir);
function esittir(e:MouseEvent) {
//Input Text'lere girilen değerleri değişkenlerimize atıyoruz.
giris1=giris1_txt.text;
giris2=giris2_txt.text;
//eğer kutucuklar boşsa dinamik metin alanına gerekli uyarıyı yazıyoruz.
if (giris1_txt.text==""&&giris2_txt.text=="") {
sonuc_txt.text="Lütfen kutulara sayı giriniz.";
//eğer islemler değişkeninin değeri 1 ise toplama işlemini gerçekleştiriyoruz.
} else if (islemler == 1) {
//sonuc değişkenine toplama işleminin sonucunu atıyoruz.
//giris1 ve giris2 değişkenleri String türünden değişkenler olduğu için
//değişkenlerden gelen değerleri sayısal değerlere çeviriyoruz.
sonuc=parseInt(giris1) + parseInt(giris2);
sonuc_txt.text = String(sonuc);
//eğer islemler değişkeninin değeri 2 ise çıkarma işlemini gerçekleştiriyoruz.
} else if (islemler == 2) {
sonuc=parseInt(giris1) - parseInt(giris2);
sonuc_txt.text = String(sonuc);
//eğer islemler değişkeninin değeri 3 ise bölme işlemini gerçekleştiriyoruz.
} else if (islemler == 3) {
sonuc=parseInt(giris1) / parseInt(giris2);
sonuc_txt.text = String(sonuc);
//eğer islemler değişkeninin değeri 4 ise çarpma işlemini gerçekleştiriyoruz.
} else if (islemler == 4) {
sonuc=parseInt(giris1) * parseInt(giris2);
sonuc_txt.text = String(sonuc);
//herhangi bir işlem seçilmemişse gerekli uyarıyı yazıyoruz.
} else {
sonuc_txt.text="Lütfen bir işlem seçiniz.";
}
}


Son Yorumlar