Eylül 08, 2008, 08:19:14 ÖS *
Merhaba, Ziyaretçi. Lütfen giriş yapın veya üye olun.

Kullanıcı adınızı, parolanızı ve aktif kalma süresini giriniz
 
   Ana Sayfa   Yardım Ara Giriş Yap Kayıt  
Sayfa: [1]
  Yazdır  
Gönderen Konu: Adobe Flash CS3  (Okunma Sayısı 1476 defa)
Fesih
Yönetici
*****
Mesaj Sayısı: 414


Üyelik Bilgileri
« : Temmuz 13, 2007, 08:22:14 ÖS »

Bayadır yolunu gözlediğimiz Flash'ın yeni versiyonu nisan itibariylepiyasaya çıktı. Çıkar çıkmaz kurup bir inceleyim dedim ve 3 hafta aravermeden programı kurcalıyıp yardim bölümünü de okuyunca anladım kiadamlar gelmiş geçmiş en iyi, hızlı ve sağlam versiyonu yapmışlar. Pekibu versiyonun ne özellikleri var program ve kod taraflarından birbakalım.

PROGRAM

- Programın açılması biraz daha yavaşlamış ve sisteminizde 2500 ün üzerinde font varsa fatal error verir olmuş.

-Arabirim fazla değişmemiş. Toolbar flash8'deki gibi 2 kolon ya da uzunbir tek kolon şeklinde kullanılabiliyor. Tool'lar aynı. Bir dikkatimiçeken Rectangle'da köşelerin yuvarlaklığını ayrı ayrı ayarlanabilmesi.Bu sayede normalde 2-3 şekli overlap edip oluşturduğunuz bir şekli birseferde yapabiliyorsunuz.

-Bounding Box'ların rengini değiştirebiliyorsunuz. Çok önemli gibigörünmese de üstüste binen bir sürü sembolde işinize yarayabilir.

-Video importları daha geliştirilmiş. Cue noktaları atayıp save edippreset şeklinde saklayabiliyorsunuz. Codec Sorenson hala. QuickTimeiçin daha iyi bir kalite sunuyormuş bu arada . Denemedim hiç.

-Tweenleri saklayabiliyorsunuz. Xml formatına çevirip Actionscript için kullanabiliyorsunuz. Gayet güzel bir özellik.

-Filtreleri kopyalıyıp yapıştırabiliyorsunuz. Her seferinde presete atmaktan ya da not etmekten daha iyi.

-8'de gelen nine-slice özelliğinin preview'ını görebiliyorsunuz. Buözellik de yerinde olmuş. Her seferinde oluşturacağınız Rectangle'ınkoordinatlarını deneme-yanılma ile buluyorduk, gerek kalmamıs artık.

Başka da birşey yok sayılır. Ve asıl bomba kısım olan kod kısmına gelelim.

KOD

Bir kere yapı tamamen değişmiş denilebilir. Artık _root, createEmptyMovieClip, attachMovie gibi kavramlarla vedalaşmak lazım. Tam java daki swing mantığı oluşturulmuş.

- MovieClip ler üzerindeki yük inanılmaz hafifletilmş. Sprite adlı(director da bulunan) yeni bir class oluşturulmuş. Tek frame li bir mcgözüyle bakabiliriz. MovieClip class 'ı artık sanırım sadce içindeoynıyacak bir animasyon varsa kullanılsın mantığındalar adamlar.movieclip ve sprite ın dışında shape classı mevcut ve bütün bu görselinstance yaratan class'lar genel bir DisplayObject class'ınınsubclass'ı olarak yer alıyor.

Dediğim gibi şimdiye kadar ki kullandığımız versiyonların en önemlimetodlarından createEmptyMovieClip ve attachMovie metodlarıkullanılmıyor artık. Onun yerine bir MovieClip yaratmak için direk birMovieClip instance yaratıyoruz var mc:MovieClip = new MovieClip()şeklinde. ve bu MovieClip i görüntülemek için bulunduğumuzDisplayObject nesnesinde addChild metodunu kullanıyoruzthis.addChild(mc); şeklinde mesela. Aynı şekilde attachMovie içinlibrary'deki de nesneye identifier yerine class veriyoruz. Baştakarışık gözükse de mantık aynı. Class için bir isim seçiyoruz meselaali diye. Flash otomatikman böyle bir class yaratıyor. Sonra varali:Ali = new Ali(); şeklinde yaratıyoruz nesnemizi. ve görüntülemekiçin yine addChild'ı kullanıyoruz.

-Stage mantığı değişmiş. Global erişimi yok. Onun yerine herhangi bi display object in stage özellğinden yararlanılıyor.

-Drawing API kuvvetlendirilmiş. Primitif shapleri tek bir satırdayazmak mümkün. Örnegin bir dikdörtgen çizmek için drawRect,yuvarlakiçin drawCircle yazmak yeterli olabiliyor.

-Text kısmına süper yenilikler gelmiş. appendText ile mevcut texte yazıekliyebiliyoruz. Örneğin ali.text += "selam" yerineali.appendText("selam"); Text'in kaç satır olduğunu. satırın ne kadaruzunlukla olduğunu.O satırın içeriğini vs görebilip değiştirebiliyoruz.Text'in antialiasını scriptle ayarlıyabilioruz artık.

- En önemli özelliklerden biri de Event Handler ların eventListener formatına sokulması. Bu şu anlama geliyor:
 
 * MovieClip'lerin onRollOver , onRollOut, onRelease, onEnterFramevs metodları artık yok. Bunun yerine movieclip oluşturupaddEventListener metoduyla ilgili event'i register etmeniz lazım. vesonrasında da ilgili fonksiyonu çalıştırmak. Örnek vermek gerekirse,

var mc:MovieClip = new MovieClip();
function hello(e:Event) { trace("hello") };
mc.addEventListener(flash.events.Event.ENTER_FRAME, hello); şeklinde

bu ne ya ne uzun diyenler olabilir ki ben de dedim zaten ama böylecebir event birkaç objeye atanabilcek ya da tersi. bu da baya hızlandırıruygulamayı.

- class lar hemen hemen aynı. sadce yeni package özelliği eklenmiş.AYrıca bir class dosyası birkaç class barındırabiliyor artık. Bunundışında inheritance (mirasçılık) da herhangi bir yenilik yok sayılır.

Class lar için yeni internal ve final namespace leri eklenmiş. ve classdefault'u public yerine internal olmuş. internal sadce bulunduğupackage deki classs'lara visible diyebiliriz. final ise javadaki gibiherhangi bir extend edilemeyen class. bunun dışında class elemenarınınözelliklerine override ve dynamic eklenmiş .override extend edilenclassın metodunu yeniden yazmak için dynamic ise runtime da özelliğideğiştirebilmek için. Ayrıca kendi namespace lerimizi deoluşturabiliyor ve kullanabiliyoruz.

-int ve uint deişken tipleri eklenmiş.Böylece Number tipinin üzerindekiyük hafiflemiş oluyor. mesela sırf tamsayı kullanmamız gereken yerlerdeint . hem tamsayı hem de pozitif olmasını istiosak uint kullabileceğiz.

Mesela bu durumun en verimli örneği for loopları

for (i:uint =0;i<1000;i++) , for(i=0;i<1000;i++) ya göre oldukça hızlı

- url ler 'in işliyişi değişmiş. flash'a yeni başlıyan birinin ilk bildiği movieclip metodu olan getURL yok artık. onun Yerine URLRequest classıyla bir url objesi oluşturupvar url:URLRequest = new URLRequest ile sonra navigateToURL(url) ilegitmek istediğimi yere gidiyoruz. AYrıca lodVariables diye birşey deyok Onun yerine de URLVariables class'ını kullanıyoruz.

- bir başka MovieClip metodu olan loadMovie de as3.0 da bulunmuyorartık.Aynı şekilde MovieClipLoader classı da yok. Onun yerine Loaderclass ı var. bir loader bir de URLReuqest objesi oluşturuploader.load(urlrequest) şeklinde yüklüyeceimizi yüklüyoruz.

-ByteArray veri tipi destekler olmuş. Bu sayede binary datalarlaoynayabilir yazabilir. Ayrıca Socket class ı ile transferlerinisağlayabilirsiniz. (mesela adamın biri png encoder yapmıştı. her türdenresmi flash da png ye dönüştürüyordu)

Şimdilik aklıma gelenler bunlar ve tabi daha bir sürü özellik vedeğişiklik mevcut. Adobe bu versiyonla artık insanların hepten OOP yegeçmesini istiyor gibi. Artık buton üzerinden bir link vermek, bir sürüsatır kodu alıp başka yere yapıştırmak, gelişi güzel data tanımlamak vsgibi şeylerin önünü kesmek istiyor . Sanıım en iyisi şimdiden classmantığıyla programlayı öğrenmeye başlamak lazım. Zaten öğrenemessenizyapabilcekleriniz sınırlı bence. bir de java geçmişiniz varsa işinizgerçekten kolay.

bu yazıda kabataslak değişikliklere değinmeye çalıştım. Programgerçekten hızlı. özellikle fazla sayıdaki datasetlerinde süper sonuçlarveriyor. Eksi tarafı biraz daha ram ve cpu hızı istemesi dışında yokgibi. tek üzüldüğüm bazı süper componentları kaldırmaları olmuş (tree,accordion, menu vs) ama herhalde bi update yapıp eklerler yakın zmanda..

herkese kolaylıklar..
Logged
Sayfa: [1]
  Yazdır  
 

Ahtapot 2
Bu Sayfa 0.075 Saniyede 17 Sorgu ile Oluşturuldu

Bugün 12:16:24 ÖS