ActionScript öğrenmek için temelde 6 başlığı bilmeniz gereklidir.
1- Yollar ve Seviyeler
2- Olaylar ve Olay İşleyiciler
3- Değişkenler ve Diziler
4- Koşullar ve Döngüler
5- Fonksiyonlar
6- Sınıflar (Sınıflar özellikler ve metodlardan oluşmaktadır.)
Yollar;
ActionScript ile herhangi bir nesneye müdahale etmek için önce onun nerede olduğunu bilmemiz gerekiyor. Bu bilmediğimiz bir yere giderken adres kullanmak gibidir. Türkiye’nin içindeki Burdur’un içindeki Ağlasun’un nüfusu cümlesinin karşılığı;
turkiye.burdur.aglasun.nufus şeklindedir.
_root.gotoAndPlay(5);
_ekran_mc.bilgitxt.text=“deneme”;
Seviyeler;
Seviyeler yollardan farklı olarak oluşturulan katmanlardır. Mantıksal olarak oluşturulan bir seviyeye dışarıdan farklı bir swf dosyası çağırarak onu yönetebilirsiniz.
_level1.visible=false
Olaylar ve Olay İşleyiciler;
ActionScript ile kodlama yaparken en çok kullanılan konu Olaylar ve Olay İşleyicilerdir. Yazdığımız komutun çalışması için bir olayın olması gerekmektedir. Bu olaylar anahtar karenin gösterilmesi, farenin tıklanması, filmin yüklenmesi, sesin bitmesi vb. olabilir. Olay işleyicilerin yaptığı, belirtilen olay gerçekleştiğinde verilen görevlerin yerine getirilmesini sağlamaktır.
kare’ye tıklandığında yaz işlemini gerçekleştir.
kare.addEventListener(MouseEvent.CLICK,yaz);
yaz isimli bir görev tanımla ve bu çıktı ekranına deneme yazsın.
function yaz(e:MouseEvent){
trace(“deneme”)
}
Değişkenler;
Programlama içinde değerlerin tutulması için değişkenler kullanılır. Değişkenler kullanıcıdan alınan değerleri, hesaplama sonucu oluşan değeri yada daha sonra hesaplanacak olan değerleri tutarlar. Değerlerin bellekte tutulduğundan yola çıkarsak, değişkenlerinde bellekteki değer tutucu kaplar olduklarını düşünebiliriz. Nasıl ki buzdolabında farklı yiyecekler için farklı kaplar kullanıyorsak, bellekte de farklı türden veriyi saklayabilmek için farklı türden kaplar kullanılır.
Sayı bilgisi tutacak yeni bir değişken tanımlamak için,
var test:Number;
Tanımlı bir değişkene değer atamak için,
test = 10;
Sık kullanılan değişken türleri: String, Number, Int, Boolean
Diziler içerisinde bir yada daha fazla eleman içerebilen değişkenlerdir. Bu değişkenleri numarasına göre yeniden çağırabilir ve değiştirebiliriz. Dizi elemanları sırasıyla 0,1,2… şeklinde numaralanırlar.
Diziler;
Bir haftanın tüm günlerini içeren bir dizi tanımlamak için,
var gunler:Array=[“Pazartesi” , “Salı” , “Çarşamba” , “Perşembe” , “Cuma” , “Cumartesi” , “Pazar”];
Haftanın 5.nci günü bilgisini çıktı ekranına yazdırmak için,
trace(gunler[4]);
Uygulama içerisinde program akışında bazı noktalarda akışın birkaç yoldan birisine yönlendirilmesi gerekebilir. Örneğin yaş bilgisi giren bir kullanıcıya yaşı 18’den büyükse reşit, değilse reşit değil olarak değerlendirme yapmak için koşullu deyimler kullanılır.
Koşullar;
if | else
if..else koşul deyimi, bir koşulu test etmenize ve bu koşul varsa bir kod bloğu çalıştırmanıza olanak sağlar. Örneğin, x değerinin 20 değerini aşıp aşmadığını test etmek aşıyorsa bir trace () işlevi oluşturmak veya aşmıyorsa farklı bir trace () işlevi oluşturmak istersek;
if (x > 20)
{
trace(“x is > 20¨);
}
else
{
trace(“x is <= 20¨);
}
Alternatif kod bloğu çalıştırmak istemiyorsanız, if deyimini else deyimi olmadan kullanabilirsiniz.
if..else if koşul deyimini kullanarak, birden çok koşul için test yapabilirsiniz. Mesela yalnızca x değerinin 20 değerini aşıp aşmadığını değil, aynı zamanda x değerinin negatif olup olmadığını da test etmek istersek;
if (x > 20)
{
trace(“x is > 20¨);
}
else if (x < 0)
{
trace(“x is negative”);
}
Bir if veya else deyiminden sonra yalnızca tek bir deyim geliyorsa, deyimin ayraç içine alınması gerekmez.
Örneğin aşağıdaki kod ayraç kullanmaz:
if (x > 0)
trace(“x is positive”);
else if (x < 0)
trace(“x is negative”);
else
trace(“x is 0¨);
Ancak ayraç bulunmayan bir koşul deyimine daha sonra if deyimleri eklenirse beklenmedik davranış oluşabileceğinden Adobe, her zaman ayraç kullanmanızı önerir.
Örneğin, aşağıdaki kodda koşul true olarak değerlendirilse de değerlendirilmese de, positiveNums değeri 1 artar:
var x:int;
var positiveNums:int = 0;
if (x > 0)
trace(“x is positive”);
positiveNums++;
trace(positiveNums); // 1
swich | case
Aynı koşul ifadesine bağlı birden çok çalıştırma yolunuz varsa switch deyimi kullanışlıdır. Bu, uzun if..else if deyimleri dizisine benzer şekilde işlevsellik sağlar ancak daha kolay okunabilir. switch deyimi, bir Boolean değerinin koşulunu test etmek yerine, bir ifade olarak değerlendirilir ve hangi kod bloğunun çalıştırılacağını belirlemek için sonucu kullanır. Kod blokları bir case deyimiyle başlar ve bir break deyimiyle sona erer.
Örneğin, aşağıdaki switch deyimi, Date.getDay() yönteminin döndürdüğü gün sayısını esas alarak haftanın gününü yazdırır:
var someDate:Date = new Date();
var dayNum:uint = someDate.getDay();
switch(dayNum){
case 0:
trace(“Pazar”);
break;
case 1:
trace(“Pazartesi”);
break;
……
default:
trace(“Hata”);
break;
}
while ;
while döngüsü, koşul true olduğu sürece yinelenen if deyimine benzer. Örneğin, aşağıdaki kod, for döngüsü örneğiyle aynı çıktıyı oluşturur:
var i:int = 0;
while (i < 5)
{
trace(i);
i++;
}
For döngüsü yerine while döngüsü kullanılmasının bir dezavantajı, sonsuz döngülerin while döngüleriyle daha kolay yazılmasıdır. Sayaç değişkenini artıran ifadeyi çıkarırsanız, for döngüsü örneği derleme yapmaz ancak bu adımı çıkarırsanız while döngüsü örneği derleme yapar. i değerini artıran ifade olmadan döngü sonsuz döngü olur.
do..while ;
do..while döngüsü, kod bloğu çalıştırıldıktan sonra koşul denetlendiğinden, kod bloğunun en az bir defa çalıştırılmasını garantileyen bir while döngüsüdür. Aşağıdaki kod, koşul karşılanmasa da çıktı oluşturan basit bir do..while döngüsü örneğini göstermektedir:
var i:int = 5;
do
{
trace(i);
i++;
}
while (i < 5);
Fonksiyonlar ;
Belirli bir kod bloğunu aynı uygulama içerisinde birden fazla yerde kullanıyorsak bunu fonksiyon olarak tanımlayıp her seferinde aynı kodu tekrar tekrar yazmaktan kurtulabiliriz. Doğru kodlamanın temelinde fonksiyonların çok önemli bir yeri vardır.
Yaş hesaplama fonksiyonu yazmak için,
function yasHesapla(dogumYili:Number,mevcutYil:Number)
{
yas=mevcutYil-dogumYili;
return yas;
}
Tanımladığımız fonksiyonu çalıştırmak için,
yasHesapla(1984,2010);
Sınıflar ;
Nesne yönelimli programlama (OOP) temelinde sınıflar ve nesneler yer almaktadır. Sınıflar sık kullanılan uygulamaların farklı dökümanlarda kolaylıkla kullanılmasını saglayan yapılardır.
package
{
public class Araba
{
public var marka:String;
public function Araba()
{
//İşlemler
}
}
}