Kullanıcıya Ait Cevap
Selamlar
Öncelikle forumun tüm Flash alemine hayırlı olmasını dileyeyim ve bir soruyla bu kategorideki açılışı yapayım.
Bu aralar Çizim API leri ile fazlasıyla ilgileniyorum ve her çizim şekli için prototipler tanımlıyorum. Bildiğim kasarıyla .prototype olayı Flash 5 stili.
Gerçi benim için yazımı çok kolay oluyor ama bu prototipleri ileriye dönük uyumluluk açısından class dosyaları haline getirmek istiyorum. işte bu noktada çok takıldım ve bir türlü başarılı olamadım.
Aşağıda örnek olarak vereceğim prototipin class biçimini benim için tanımlarsanız fazlasıyla memnun olurum :D
MovieClip.prototype.kareCiz = function(x,y,w,h){
//parametreler string geliyor
//number a çevriliyor
var x = parseFloat(x); //x eksendeki nokta
var y = parseFloat(y); //y eksendeki nokta
var w = parseFloat(w); //genişlik
var h = parseFloat(h); //yükseklik
this.moveTo(x,y);
this.lineStyle(1, 0x000000, 100);
this.lineTo(w,y);
this.lineTo(w,h);
this.lineTo(x,h);
this.lineTo(x,y);
}
.
Etkinlikler
Yarışma
Fikir10000 Dijital Pazarlama Fikir Yarışması
Fikir10000 Dijital Pazarlama Fikir Yarışması
ADTECH tarafından düzenlenen Fikir10000 yarışmasına; dijital pazarlama ile ilgili size ait olan fikrinizle katılabilir ve 10.000 YTL’lik birinci...
Kategori:
Yarışma
Kimler Burada? 
Son 1 dakika içinde MMIstanbul' da 579 (1 kayıtlı, 578 ziyaretçi) kullanıcı varmış. Login durumda olanlar aşağıda:
MMIstanbul Blog'undan
Neler Yapılabilir?
Yeni bir portal, 30 civarında online / offline etkinlik, seminer vb rağmen MMIstanbul sanıyoruz ki halen hakettiği ilgiyi göremedi. " ...
500 Hatası Hakkında!
Reklam, MMIstanbul ve Yeni Projeler (Durumumuz Bu Tarzında)
Ne Nedir Kampanyası Başlıyor!
Çok Merak Edenler için; MMIstanbul Geliştirme Ekibi ve Çalışma Ortamımız









AS1’ de yazılan prototype lar AS2 de kullanılabilir. Bu yüzden MovieClip için ayrıca class yaratmanıza gerek yok. Çünkü aslında,internal olarak hala AS1 e çevriliyor AS2 :
Söylediklerimizin işlemeyeceği durumlar var. Şöyle ki : AS2 deki sınıfları buradaki sorun açısından iki gruba ayırabiliriz :
* ( dinamik olmayan ) sınıflar
Bu sınıfın kendisine ( prototype ına değil) ve bu sınıfın örneği( instance ı) olan nesnelere yeni bir metod veya özellik ekleyemeyiz. output ta derleyici hatası verecektir (compile error)
* dinamik sınıflar
Bu sınıfın kendisine ve bu sınıfın örneği( instance ı) olan nesnelere yeni bir metod veya özellik ekleyebiliriz.
Tüm AS2 sınıflarının prototype larını kullanabilirsin. Kullanamayacağın durumlar :
Mesela AS2’ de Stage ve Math nesnelerine yeni metodları AS1 stilinde ekleyemezsin. Aslında öncelikle, bu iki sınıfa zaten prototype yazılmaz ( öyle denir ama…). Çünkü bunlar statik sınıftır, daha açık olarak söylenirse, bunları kullanmak için bunların instance larını oluşturmaz, direkt kullanırız. örnek olarak :
zaten basit çerçevede, mantık olarak ne Math ın ne de Stage in örneğini oluşturmanın bir anlamı yoktur. Misal olarak Stage bir tanedir o esnada ( o swf için ). Haliyle onun instance ını oluşturabiliyor olmak da manasız olurdu. Uzatmadan sadede gelirsek, AS2 deki internal sınıfların,("built-in" olarak tabir edilenler)bazıları dinamiktir, bazıları da dinamik değildir.işte Math ve Stage dinamik olmayan ve instance ları oluşturulmaayan sınıflardan, haliyle arıza çıkartıyorlar. Ama verdiğim örnekte de olduğu gibi MovieClip ve diğer sınıflar için prototype yazabilir ve AS2 de kullanabilirsin.Yani prototype a yeni metod ve özellikler ya da eventhandler lar eklemede sınıfın dinamik veya dinamik olmayışının bir önemi yok.
Hoşuma giden bir konu olduğu için uzattım sanırım. Eğer Math veya Stage gibi dinamik olmayan instance ı oluşturulmadan kullanılan sınıflara ( nesnelere) metod veya özellikleri nasıl ekleyebileceğini merak ediyorsan bunu da yazmaya çalışırım, çünkü bir kaç yolu var (biraz detaylı…)
iyi çalışmalar…