|
|
Actionscript 2.0 - Değişkenler
Actionscript 2.0 - Değişkenler
Kategori |
: Flash |
Yorum Sayısı |
: 0 |
Okunma |
: 797 |
Tarih |
: 09 Mart 2008 03:54 |
Değişkenler
Bundan önceki makalelerimizde veri türlerini tamamladık, bundan sonrasında ise bu türlerin derinlemesine kullanımına değineceğiz.
Değişkenler, temel olarak hafızada saklanan veriye erişmek için kullanılan temsilcilerdir. Çok yaygın bir görüş olduğundan değişkenleri "Saklama Kabı" olarak düşünebiliriz. Her değişkenin bir adı, bir de değeri vardır örneğin;
isim = "Hakan";
isim değişkenin adı, "Hakan" ise bu değişkenin taşıdığı değerdir. Anlaşılabileceği gibi bu değişken string bir değere sahiptir. Değişkenler, daha önce öğrendiğimiz veri türlerinin hepsini değer olarak alabilirler. Örnekleri inceleyiniz;
hedefClip = myMovieClip; //movie clip ornegini deger olarak almis adi = "myName"; //string sayi = 15; //sayi giris = true; //boolean
Bir değişkenin tanımlanması sırasında, tür uyumu, isimlendirme kuralları gibi dikkat edilmesi gereken hususlar vardır. Değişken isimlendirmesi, her ne kadar bizim zevkimize kalmis ise de bazı kurallar çerçevesindedir.
- Değişken adında boşluk kullanılmaz.
kullanici adi = "Mesut Şaşmaz"; //hatalı tanımlama
- Değişken adları, sayı ya da alfanumerik olmayan karakterlerle başlayamaz.
1_giris = 0; //hatali bildirim %yuklenen = 100; //hatali bildirim
Bunların dışında, değişken isimlendirmesinde Türkçe karakterlerin kullanılmaması da salık verilir.
Genel bir programlama alışkanlığı olarak, değişken isimlendirmesinde ilk kelime küçük harfle başlar, takip eden her kelimenin ilk harfi büyük yazılarak devam edilir.
dosyaAdi = "myFile.txt"; kullaniciGirisIzni = false;
Değişken isimlendirmede dikkat edilecek son nokta da, Actionscript youmlayıcısı için özel anlam ifade eden kelimelerin değişken adı olarak kullanılmamasıdır. Zaten bu gibi bir kullanımda Actions paneli kelimeyi sizin için renklendirdiğinden yanlış bir kullanım yaptığınızı anlayacaksınız.
this = myMovieClip; //yanlis, this ozel bir kelime import = ""; //hatali bildirim Değişkenlerin ömürleri
DEĞİŞKENLERİN ÖMÜRLERİ ve FAALİYET ALANLARI
Her değişken, tanımlandığı bloğa göre 3 gruba sınıflandırılır;
- Local değişkenler - Global değişkenler - Timeline değişkenleri
Local Değişkenler:
Bu tip değişkenler, sadece tanımlandıkları blok içerisinde faaliyet gösterirler ve geçerlidirler. Burada blok teriminin açıklamasını yapmakta fayda görüyorum; Actionscript söz diziminde { } küme parantezleri arasındaki ifadeler "blok" olarak adlandırılırlar.
if(durum) { //burasi if blogunun ici }
Local değişkenler, faaliyet göstermesini istediğimiz blok içerisinde "var" deyimi ile tanımlanırlar. Hatırlayacağınız üzere var deyiminin daha önceki açıklamasında ileride farklı alanlarda kullanacağımızı belirtmiştik.
function topla(a,b) { var toplam = a+b; return toplam; } trace(toplam); //undefined
Yukarıdaki örnekte, toplam değişkeni sadece "topla" fonksiyonu içerisinde faaliyet göstermektedir. Filminiz içerisinde herhangi bir noktada topla değişkenine erişmek istediğinizde "undefined" hatası ile karşılaşırsınız.
Fonksiyonu aşağıdaki şekilde düzenleyip tekrar deneyelim;
function topla(a,b) { toplam = a+b; return toplam; } topla(10,20); //fonksiyonu cagiriyoruz.
trace(toplam); //ciktisi 30 olacaktir.
Gördüğünüz gibi, toplam değişkeni Local bir değişken olmaktan çıkrı. Bunun anlamı var deyimi kullanılmadan tanımlanan değişkenlerin birer Timeline değişkeni haline geleceğidir.
Timeline Değişkenleri:
Timeline (zaman çizgisi) kavramından söz edebilmek için, önce movieclip olması gereklidir. Her movieclip' in kendisine ait bir zaman çizgisi vardır ve kendi içlerindeki komutları bu zama çizgisinde işletirler. Bir movieclibin zaman çizgisi içerisinde "local olmayan" bir değişken tanımlandığında, o değişkene kendi timeline' ı içerisinde doğrudan erişilebilir.
Local değişkenlerden farklı olarak, timeline değişkenlerine mutlak yol belirtmek koşulu ile kendi timelineları dışından da erişilebilir. Aşağıdaki örnekleri inceleyiniz;
//myClip isminde bir movieclip' in zaman cizgisinde //1. frame icerisindeki kod. timeLineDegiskeni = "myClip içerisinde faaliyet gösteriyorum"; trace(timeLineDegiskeni); //degiskenin degerini yazdirir
//root (ana zaman çizgisi) üzerindeki //1. frame içerisinde bulunan kod. trace(timeLineDegiskeni); //undefined trace(myClip.timeLineDegiskeni); //degiskenin degerini yazdirir.
Mutlak ve göreceli yol bildirimlerine ileride detaylı olarak değineceğimizden, şimdilik bu örneklerde değişkenlerin faaliyet alanlarını anlamanız yeterli olacaktır.
Global Değişkenler:
Global değişkenler, adından da anlaşılabileceği gibi; uygulama içerisinde her hangi bir yerden direk olarak erişime sahip olan değişkenlerdir. Bir değişkeni global düzeyde tanımlamak için _global belirteci kullanılır.
_global.skor = 70; //root ta tanimlanmis bir global degisken
//myClip movieclibi içerisindeki kod trace(skor); //ciktisi 70 olacaktir.
Yukarıdaki örnekte, skor değişkeni ana zaman çizgisi üzerinde tanımlanmış bir global değişkendir. Tanımlandığı yer olarak ana zaman çizgisi üzerinde olsa da, global seviyede tanımlandığı için herhangi bir zaman çizgisinden de doğrudan erişilebilir.
DEĞİŞKENLERİN TAŞIYACAĞI VERİYİ BELİRLEMEK
Pek çok programlama dilinden alışkın olduğumuz bir durum, değişken tanımlaması sırasında o değişkenin taşıyacağı verinin türünün de belirtilmesidir.
Visual Basic: Dim i As Integer 'sayisal bir degisken C - C++ - C# int sayi; //sayisal bir degisken vb..
Actionscript 2.0 tür bildirimi, sadece "Local" düzeydeki değişkenler için, yani var deyimi ile tanımlanan değişkenler için yapılmaktadır. Global ya da Timeline değişkenleri için tür bildirimi söz konusu değildir.
Actionscript 2.0 da tür bildirimi ":" iki nokta operatörü ile yapılır.
var isim:String = "Hakan"; //string bir degisken //tur bildirimi yapiliyor var sayi:Number = 10;
Yukarıdaki tanımlamalardan sonra, aşağıdaki atamaları yapmaya kalktığınızda A.S derleyicisi tarafından hata mesajı alacaksınız.
isim = 20; //hata, string degiskene sayisal veri ataniyor sayi = "10"; //hata
Tür bildirimi, Actionscript 2.0 içerisinde bulunan tüm hazır sınıflar ve sizin oluşturacağınız özel sınıflar için yapılabilir. Tür bildiriminin bir diğer faydası da Actions panelinin "intellisense" özelliğinin kullanılabilmesine olanak sağlamasıdır. Tür bildirimi yaparak tanımladığınız bir değişkenin metodlarına erişmek istediğinizde Actions paneli size mevcut metodları listeleyecektir.
function abc(a:Number,b:String,c:kendiSinifim) { . . . }
Şekilde de görüleceği gibi, parametre değişkenlerinde de tür bildirimi yapılabilmektedir.
Değişkenler ile ilgili bu yazımızda değineceğimiz son nokta da, delete deyimi. Uygulamanızda zaman zaman artık kullanılmasına gerek kalmayan değişkenler olabilir. Hafızanın verimli kullanılabilmesi için bu değişkenleri silmek oldukça mantıklı bir çözüm olacaktır. delete deyimi, hafızada tanımlı bir değişkeni silmek (hafızada kaldırmak) için kullanılır.
silinecekDegisken = "blablabla"; trace(silinecekDegiske); //blablabla ciktisini alacaksiniz. delete silinecekDegisken; //degiskeni siliyoruz trace(silinecekDegisken); //undefined.
Yazdırılabilir Sayfa |
Word'e Aktar |
Tavsiye Et
| Yorum Yaz
Flash |
En Çok Okunan Makaleler |
|
|
|
|
Seçtiklerimiz
|