Merhaba arkadaşlar ;

Bugünlerde yaşadığım ve daha önceleride birkaç defa bana sorulan bir konuya değinmek istiyorum. Actionscript 2.0 varolan bir proje ile 3.0 ile geliştirilen swf dosyalarını load edebilme ve entegreleri üzerine. Evet biraz sıkıntı var.

Örnek olacak şekilde yukarıda çizmeye çalıştığım gibi elimizdeki senaryoda ana çalışmamız olan index.fla ve ondan yayımlanmış index.swf dosyası ve galerinizi tasarladığınız bir galeri.fla ve yayınlanmış galeri.swf dosyası olduğunu düşünelim.

İlk senaryomuzda index çalışmamız AS 2.0 da tasarlanmış ise galerimiz AS 3.0 da yapılmış ise ( piyasada çok güzel 3.0 'ın tüm avantajları kullanılarak papervision benzeri hazır galeriler ve componentlar var ) 2.0 çalışmasına 3.0 galerinizi loadMovie actionscripti , Loader componentı veya behaviors ile getirirsek ne yazıkki çalışmıyor,çünkü 3.0'ın class yapısı 2.0 için uygun değil. Yukarıda örnekte gösterdiğim gibi 3.0 ile gelen süper hero componentımız "Color Picker" ile bir çalışma yapsak nesneleri ziyaretçinin istediği renge boyayabiliyoruz ancak bu çalışmayı 2.0'a dahil edemiyorsunuz.

İkinci senaryoda ise ana çalışmanız index.swf AS 3.0 ile yapılmaya başlanmış ve dışarıdan projeye dahil edilecek galeri.swf dosyanız AS 2.0 ile tasarlanmış , mesela varolan bir dosya ise bu swf dosyasını 3.0 projenize flash.display.Loader classı veya Loader componentı ile getirebilirsiniz.Tasarım olarak herhangi bir sorun olmazken Actionscript algoritmasında deklerasyonlardaki farklılıklardan değişkenler düzgün taşınamıyor. Ancak 2.0'da işlemlerinizi yapıp ekrana dinamik text olarak yazdırırsanız bu aynen taşınıyor(çok şükür ) Mesela örnek verecek olursak 2.0'da "degisken = 5" diyebiliyorduk , flash bunun number oldugunu anlıyor ve işleme sokabiliyorduk ancak bu değişken 3.0'a iletilince anlaşılmıyor. 3.0 'da böyle bir değişkeni ancak "var degisken:Number = 5" gibi tanımlarsak çalışıyor.

Kısacası 2.0 çalışmalarımıza 3.0 getiremiyoruz ancak 3.0 çalışmalarına eski tasarımlarınızı getirebiliyorsunuz,dinamik içerik için hesaplamaları da 2.0da halledip 3.0'a değişken iletmek için deklerasyonlara dikkat etmeliyiz veya dinamik text kullanarak iletebiliriz.



Faydalı olması dileğiyle...