Degiskenler
Nitekim programlamada ve haliyle
oyun programlamasinda da, degisken vazgeçilmez bir unsurdur. Simdi, kisaca Action Script’teki degiskenler konusuna bir göz atalim.
Degiskenlerimizin yapisi : “
var degiskenin_ismi: degiskenin_tipi=
degiskenin degeri”
seklindedir.Degiskenimizi tanimlarken bu kalibi kullaniriz.Bu konuya
baslamadan önce, size az sonra gösterecegim örnekleri çalistirdiginiz
zaman, sonuçlar “
OUTPUT” penceresinde gösterilecektir.Bu nedenle output penceresini öncelikle açmak gerekir.Bunun için, “
F2” tusunu veya “
Window-Output” kismini tiklamaniz gerekir.Simdi degisken tiplerine bir bakalim:
int
Bu degisken tipi,
"pozitif (+)","negatif (-)" ve "0" rakamlari için kullanilir.Ancak ondalik degere sahip rakamlar için
kullanilamaz.Kullanilirlarsa ondalik degerini otomatik olarak siler.
Örnek: Actions panelini açin ve asagidaki kodlari yazin:
var sayi:int= 4.3;
trace(sayi);
Ardindan “Crtl+Enter” yapinca sonuç olarak “
4” çikacaktir.Noktadan sonraki
3 rakami otomatik olarak silinmistir. “
trace ();”
fonksiyonun görevi,içine yazilan degerleri output penceresine yansitmaktir.
uint
Bu degisken tipi,sadece
“pozitif (+)” ve “0” rakamlari için kullanilir.”Negatif (-)” rakamlar
kullanilamaz.Kullanilirlarsa hata verir.Ayni zamanda ondalik degere sahip rakamlar için
kullanilamaz.Kullanilirlarsa ondalik degerini “int” de oldugu gibi otomatik olarak siler.
Örnek: Actions panelini açin ve asagidaki kodlari yazin:
var sayi:uint= 4.3;
trace(sayi);
Ardindan “Crtl+Enter” yapinca sonuç olarak “4” çikacaktir.Noktadan
sonraki 3 rakami otomatik olarak silinmistir. Ardindan 4.3 degerini
silin ve yerine -5 yazin ve tekrar çalistirin. -5 sonucunu vermedigini
görüceksiniz.
Number
Bu degisken tipi tüm rakamlar için kullanilabilir (pozitif (+),negatif(-),ondalikli ve 0).
Örnek: Actions panelini açin ve asagidaki kodlari yazin:
var sayi:Number= 4.3;
trace(sayi);
Ardindan “Crtl+Enter” yapinca sonuç olarak “
4.3” çikacaktir.Ayni sekilde bütün pozitif ve negatif rakamlarini deneyebilirsiniz.Istediginiz sonucu verdigini göreceksiniz.
[size=large]String[/size]
Bu degisken tipi:
Yazilarin ve harflerin kullanilmasi gerektiginde kullanilir.
Örnek: Actions panelini açin ve asagidaki kodlari yazin:
var yazi:String="merhaba oyun yapimcilari";
trace(yazi);
Ardindan “Crtl+Enter” yapinca sonuç olarak OUTPUT penceresinde “
merhaba oyun yapimcilari” yazisinin yazdigini göreceksiniz.
Boolean
Bu degisken
oyunlarin programlanmasinda sikça kullanilir.Bu degisken tipi 0,1 mantiksal degere göre deger alir.
Yani toplam 2 deger alabilir.Bunlardan biri “
true” digeri de “
false”dir.
Örnek: Actions panelini açin ve asagidaki kodlari yazin:
var durum:Boolean=true;
if(durum){
trace("degiskenin degeri true'dur");
}else if(durum==false){
trace("degiskenin degeri false'dir");
}
Ardindan “Crtl+Enter” yapinca sonuç olarak OUTPUT penceresinde “
degiskenin degeri true'dur” yazisinin oldugunu göreceksiniz.Sonra durum degiskenin degerini "
false" yapin ve tekrar çalistirin.Bu sefer de output penceresinde “
degiskenin degeri false'dir” yazisinin yazdigini göreceksiniz.
Array
Türkçesi
Diziler’dir.Birçok degisken tanimlamamiz
gereken bir durum oldugunda,bu kargasayi önlemek için, dizileri
kullanabiliriz.Öncelikle dizi’yi su sekilde tanimlariz:
“
var degiskenin_ismi: Array=
new Array(); ”. Bu dizimiz içine sonsuz miktarda deger alabilir.Eger dizi’yi sinirli miktarda deger almasini istiyorsak bunu, “
new Array(5); ” kismindaki parantezin içine alacagi deger sayisini belirtebiliriz.Örnegin ben
6 dedim.Yanlis duymadiginiz 6 dedim. “Ama bunun içinde 5 yaziyor?” diyorsaniz eger,size cevabim su olacaktir: “
Dizilerde
deger alimi 0’dan baslar (0,1,2,3,4,5 = toplam 6 tane).O nedenle
parantezin içine yazilan sayi daima gerçekte bir fazlasidir.100
yazilmissa aslinda 101’dir gibi.” Simdi bu dizilerin ne ise yaradigini size karsilastirmali olarak göstereyim, örneklendireyim:
Örnegin bize, 5 ve 5’in katlarini barindiran, toplam
100 tane degisken olsun,her bir degisken, 5’in katlarindan olan bir
sayiyi barindirsin ve bunlara istedigimiz zaman ulasip,içerigindeki
rakamlari degistirebilelim.Bunu nasil yapabiliriz?
Bunu 2 sekilde yapabiliriz:
1-)100 tane ayri ayri degiskenler tanimlayip, içerigine 5 ve 5’in katlari olan bir rakam degeri vererek yapabiliriz.
var ornek_1:int=5;
var ornek_2:int=10;
var ornek_3:int=15;
var ornek_4:int=20;
var ornek_5:int=25;
var ornek_6:int=30;
var ornek_7:int=35;
var ornek_8:int=40;
var ornek_9:int=45;
var ornek_10:int=50;
var ornek_11:int=55;
var ornek_12:int=60;
var ornek_13:int=65;
var ornek_14:int=70;
.
.
.
var ornek_99:int=495;
var ornek_100:int=500;
trace(ornek_9); // Sonuç 45 çikar;
trace(ornek_99); // Sonuç 495 çikar;
Böyle böyle toplam 100 tane degisken tanimlamamiz gerekirdi.Bu da,
“fazladan emek+zaman kaybi ve kod karmasasi” demektir.Ya bizden 5’in
katlari olarak 100 tane rakam degil de,
6.000 tane rakam istenseydi? Bu mantikla 6.000 tane degisken tanimlamak gerekecekti.
2-) Oysa biz, bir tane dizi degiskeni belirleyerek, ve bunu
for() döngüsüyle destekleyerek, o kadar kod karmasasindan kurtulabiliriz:
var ornek:Array=
new Array(99);
for(var i:uint=0;i<=100;i++){
ornek=i*5;
}
trace(ornek[9]); //Sonuç 45 çikar;
trace(ornek[99]); // Sonuç 495 çikar;
Yukaridaki kodla istegimizi gerçeklestiririz. 6.000 tane istenmesi durumunda,yukaridaki for döngüsündeki “i<=100” kodunu “i<=6000” seklinde degistirerek bu istegi gerçeklestirmis olurduk.
