Actionscript 2 Nesne Yönelimli Programlama(OOP) - Dersler 3
Pazartesi, Eylül 29, 2008 18:47 | Görüntülenme: 288 | Yazar: Ahmet ErtürkSizlere on(release), on(press) gibi flash kodlarının yerine gelen stilleri anlatmaya çalışacağım.
Biliyorsunuzki eskiden bir buton üzerine tıklardık ve aşağıdan actions kısmına
on(release) {
getURL(”http://www.com.com”, “_blank”);
}
gibi kodlar yazardık. İşte bu kullanımın ne zaman değiştiği ve yerine ne geldiğini bugün açıklamaya çalışacağım.
Flash 5 sürümünden sonra gelen Action Script 1.0 ile action’ları butona veya movie clib’e yazarken, şimdi butonlara veya movieClib’lere verdiğimiz instance name’leri referans alarak timeline üzerinde bulunan framelere kod atayabiliyoruz.
Kodlamanızı yaparken, birazdan bahsedeğim tarzda yaparsanız, hem bütün kodlarınız bir arada olur hem de standartlara biraz daha yakınlaşmış olur.
işte on(release) kodunun en son hali şöyle olmalıdır.
my_buton.onRelease = function():Void {
getURL(”http://www.site.com”, “_blank”);
}
aynı şekilde, onPress, onRollOver, onRollOut .. aynı şekilde kullanabilirsiniz.
MovieClib’lere gelince, onların içine de
on(Data)
on(enterFrame)
on(clipEvent)
gibi kodlar yazmaya devam ediliyor. bunun yerine.
my_mc.onEnterFrame = function():Void {
//yapılacak işler
}my_mc.onData = function():Void {
//yapılacak işler
}
kullanabilirsiniz.
bu şekilde bütün action’ları frame’lere yazmaya başlarsınız.
Aslında AS 2.0 ile OOP gelmeden önce, AS 1.0 içerisinde de kötü sayılmayacak kadar bir OOP mantığı mevcuttu. İlk bakışta tek fark AS 2.0 ‘da sınıf kodlarının dışarda bir AS dosyasına kaydedilmesi iken, aslında yapısal olarak çok büyük değişiklikler söz konusu. Diğer programlama dillerindeki OOP sentaksına daha yakındır AS 2.0, AS 1.0′a göre.
#include kullanarak AS dosyalarını Flash içine almak demek, class dosyası anlamına gelmez. bir class yazıldıktan sonra flash içinde kullanmak için önce bir nesne tanımlanız gerekir.
bunu zaten OOP mantığı bilmeyen birçok kişi farkında olmadan da kullanıyor. örneğin;
var ses:Sound = new Sound();
ile bir ses nesnesi oluşturduğunuzda Sound sınıfının (bu sınıf Flash’ın default sınıflarından biridir. yani ilk yüklediğinizde içinde var olan sınıflardandır) özelliklerini taşıyan bir nesne oluşturmuş olursunuz. Bu konuyu ilerde daha da geniş anlatmaya çalışacağız.
Şimdi AS 2.0 ‘da OOP için olmazsa olmazlara bakalım.
-bir class yazacaksanız bunun mutlaka .AS uzantılı bir dosya olması gerekir. İster notePad ile ister Flash( sadece professional süürm için) içerisinde yazabilirsiniz.
-Genel olarak AS dosyaları class path belirtilmemişse, SWF’nin olduğu dizindir. Bir SWF compile edilme sürecinde bulunduğu dizinde bir class dosyası olup olmadığına bakar. Eğer class path ( sınıf dosyalarının saklandığı dizin ) belitilmişse, Flash ordan gerekli kodları alıp SWF’yi compile eder.
-AS sınıf dosyaları sadece compile(derleme) işlemi sırasında gereklidir. Daha sonra hosting alanınıza yüklemenize gerek yoktur. Flash gerekli kodları alarak SWF’yi derler. Yani gerekli bütün kodlar SWF içerisinde saklanmıştır.
AS 2.0 ile gelen OOP sentaksında bir class yazılmaya başlandığında aşağıdaki gibi bir görünüme sahip olmaldır.
class sınıf_adı {
//sınıf içeriği
}
sınıf içeriği dediğimiz blok içinde, sırasıyla, sınıf içinde kullanıcak öğeler , yapılandırıcı fonksiyon (fonksiyon adı class ismi ile aynı olmalıdır) ve methodlar yazılır.
Bir dahaki konuda class mantığını daha da ayrıntılı olarak ele alacağız ve uzun bir süre OOP çalışacağız. Yeterli seviyeye gelince de AS 3.0′a dikey bir geçiş yapmayı planlıyoruz inşallah :))
Aytekin Meral
Yazıyı Yorumlayabilirsiniz
Sitemizde sizler için her geçen gün daha kaliteli yazılar hazırlanıp yayınlanmaktadır. Size daha kaliteli içerik sunmamız için lütfen iyi ya da kötü düşüncelerinizi bizimle paylaşınız.
