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 576 (1 kayıtlı, 575 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









Faydalı cevap
Ne yazık ki sadece AS2’ ye yönelik olan çözüm hiç de yaratıcı değil.Ayrı bir sınıf yaratıp içine yazmak :))
aklımıza muhtemel olaarak gelecek olan diğer çözüm şu olabilirdi : yeni yarattığımız newMath adlı sınıfın, Math sınıfının metodlarını kullanabilmesi, yani şöyle :
Fakat bu da ne yazık ki işe yaramamakta.diğer iki çözüm AS1 ile ilgili. ilki, "intrinsic" anahtar kelimesi sayesinde gerçekleşmekte. Elimizde bir AS1 sınıfı varsa ve onu AS2 sınıfı gibi kullanmak istiyorsak, ( aslında sınıf değil datatype tanımı olan ) bir sınıf yaratıp onun içine sadece data type ları yazıyoruz.
Flash zaten internal olarak halen AS1 sınıflarını kullanıyor ( ve bunu yapıyor ) Flash mx2004 ün kurulu olduğu klasör altında "Flash MX 2004\EN\First Run\Classes"klasörünü açıp Math.as dosyasına bakarsak şunu görürüz :
( Aslında core class ların hepsinde görüyoruz )
Burada yapılanı, "intrinsic" kullanarak biz de yapabiliriz.
Sonuncusu da benim böyle bir yol ararken bulduğum bir yöntem,ama normalde işlememesi gerekiyor, ama yine de işliyor (-: Niye işlediğini ben de merak ediyorum … !!
Tek tek denemeye vaktim olmadı. ( sanmıyorum ama .. )umarım çalışmayan bir şey olmaz…
"prototype" mevzusu ise şöyle sanırım : Macromedia nın yeni sürümlerini artık tümüyle yeni kod mimarisine göre yapılandırmak isteyeceği doğru olsa gerek ve normal bir yaklaşım ama AS’de de, JS gibi ECMA model alınıyor.
http://www.mozilla.org/js/language/es4
ECMA da halen "prototype" var. Bilgi için : http://www.mozilla.org/js/language/es4/core/definitions.html#prototype
Bir de şunu eklemek gerek AS2 sınıflarında halen prototype var, hatta ECMA da olmayan proto var. hatta constructor , constructor var ( son iki özelliği sınıf dosyalarında göremezsin ama internal olarak kullanılıyor ).
Bu koşullarda, yakın bir gelecekte ( bir sürüm sonra örneğin ) prototype ın çıkarılması bana çok da mümkün görünmüyor.Öncelikle macromedia için bu bir risk ( geriye yönelik uyumsuzluk ) Çünkü pozisyonları aynı olmasa da, halen Flash 3/4/5 ten kalma AS elemanları desteklenmekte.
Kaldı ki halen AS1 ile iş yapan bir çok kişi var. Baktığımızda AS1 halen çok daha esnek bir yapıda bu tür metodları özellikleri eklemek açısından. ( Bunun örneklerini yukarıda yapmaya çalıştığımız şeyden görebiliriz )
iyi çalışmalar …