sponsor adobe istanbul
Hatırlatma: MMIstanbul, hem tasarımcılar hem de programcılar içindir. MMIstanbul'u arkadaşlarınıza tavsiye edebilirsiniz.
Profili Göster

ActionScript 2' den ActionScript 3 'e Geçiş Üzerine

Engin Yöyen Tarih: 4/12/2007 Yorum: 0 adet

Okunma : 1004 Tutanlar: Bu yazıyı 2 kişi tuttu.

Macromedia’nın Adobe’nin bünyesine gireceğini duyduğumda aklıma ilk gelen şey sık kullandığım programların bir sonraki sürümünün nasıl olacağıydı. Açıkça söylemek gerekirse ben sonuçtan çok memnunum. Flash ta ve Actionscript te çok büyük değişiklikler yapıldı.Ben bu makalede ActionScript 2 ile Actionscript 3 arasındaki bazı farklılıkları değinmeye çalışacağım.Tabii tamamına değilde sık kullanılanlara değineceğim.

Debug

Türkçe hocamız "Bir dil ne kadar kurallı ise o kadar iyidir" derdi.Actionscript 3.0 ı ilk kullandığımda ilk dikkatimi çeken şey daha çok hata vermesiydi. AS3, AS2 ye göre daha kurallı bir dil.Bu da flash dokümanlarını derlerken hatanın ne olduğunu anlamaya daha çok yardımcı oluyor.

XML

İlk olarak "Validating Parser" den bahsetmek istiyorum.Validating Parser xml dosyanızın doğru biçimde olup olmadığını kontrol ediyor.Yani taglarınız doğru şekilde kapatılmışmı, root node varmı yokmu vs gibi hataların olup lmadığını kontrol ediyor.

Örnek verecek olursak eğer ana tagını kapatmadığım bir xml dosyasında derleyicinin vereceği hata şu şekilde olacaktır;

Error #1085: The element type "main" must be terminated by the matching end-tag < /main>".

Ayrıca Xml kullanımında büyük değişiklikler oldu. ECMAScript for XML (E4X) denilen bir system kullanmaya başlandı.

AS2 de bir xml dosyasını okumak için xml objesini oluşturup daha sonra XMl.load() metodunu kullanırdık.

var myXML:XML = new XML();

myXML.onLoad = function(success) {

trace(myXML);

};

myXML.load("content.xml");

AS 3 te ise loader URLLoader sınıfı ile yapılıyor.

var myXML:XML = new XML();

var myXMLURL:URLRequest = new URLRequest("content.xml");

var myLoader:URLLoader = new URLLoader(myXMLURL);

myLoader.addEventListener(Event.COMPLETE, xmlLoaded);

function xmlLoaded(event:Event):void {

myXML = XML(myLoader.data);

trace(myXML);

}

Xml


Artık Altçizgi yok

my_mc._x = 25 //Eski

my_mc.x = 25 //Yeni

my_mc._height = 200 //Eski

my_mc.height = 200 //Yeni

100 – Artık değerler 0-100 üzerinden değil 0-1 üzerinden

my_mc._alpha =50;

my_mc.alpha =0.5;

_root ve _parent

İki tane movie clibimiz olsun ustmc ve altmc. altmc’yi ustmc nin içinde düşünün. AS2 de bir moviclibin içindeyken bir üst katmana geçmek için

_parent.ust_mc._x =25; //alt mc_nin içinden

A3 3 te ise bu tamamen farklı

MovieClip(this.parent).ust_mc.x = 25; //alt mc_nin içinden

onEnterFrame, onPress, onRelease, OnRollOver, onRollOut,…

onData() , onDragOut() , onDragOver() , , onKillFocus(), onLoad(), onMouseMove(), onReleaseOutside(), onSetFocus(), onUnload() vs.. bu metodların tamamını artık eventListener ların içinde kullanıyoruz.

AS 2
my_mc.onPress = function()

{

//çalışacak kodlar burada yer alıyor

}

AS3 te event listener ekliyoruz. Eğer olay gerçekleşirse fonksiyonu çağırıyor..

my_mc.addEventListener(MouseEvent.MOUSE_DOWN, fonksiyonuCagi);

function fonksiyonCagir(event:MouseEvent) {

//çalışacak kodlar burada yer alıyor

}

getNextHighestDepth

AS 2 de ekranda bir objeyi görüntülemek için depth numaraları kullanmak gerekiyordu. Depthler artık otomatikman Flash playerin içinde kuruluyor. Onun yerine ise z-order sistemi geldi.

AS 2 de movielip yaratıp görüntülemek için getNextHighestDepth kullanıyorduk ..

this.createEmptyMovieClip("my_mc", this.getNextHighestDepth());

AS 3 te ise ekranda görüntülemek için addChild metodunu kullanıyoruz.

var my_mc:MovieClip = new MovieClip();

addChild(my_mc);

swapDepths

my_mc.swapDepths(this.getNextHighestDepth()); //AS 2


my_mc.swapChildren(sprite1, sprite2); //AS3

attachMovie

Artık attachMovie() yok.Peki kütüphanedeki öğeleri nasıl çağıracaksınız?

1-Kütüphanedeki öğenize sağ tıklayın ve Linkage basın

2-Class bölümüne bir isim verin(Örn = my_mc).Default olarak kütüphanedeki movieclipin ismini alacaktır.

3-Ok’ye basın. Çıkan mesaja OK deyin.Ok dediğinizde flash obje için bir class olmadığını fark edip kendisi bir class yaratcaktır.

4-Action Script panelini açın ve aşağıdaki kodu yazın.

var daire:my_mc = new my_mc();
addChild(daire);

createEmptyMovieClip

AS2;
this.createEmptyMovieClip("my_mc", this.getNextHighestDepth()); //AS 2

AS3;
var my_mc:MovieClip = new MovieClip(); //AS3

addChild(my_mc);

Yeni bir URL isteğinde bulunma

AS2;
getURL("http://www.stayupdatedonweb.com", "_blank"); //AS 2

AS3;
var url:String = "http://www.stayupdatedonweb.com"; //AS 3

var request:URLRequest = new URLRequest(url);

navigateToURL(request);

Yukarıdaki liste haricinde birçok şey daha değişti.Bu listenin tamamına oluşmak için Flash Cs3 te f1 basarak yardım bölümüne giriniz ve arama kısmına "ActionScript 2.0 Migration" yazıp arayın veya aşagıdaki adresten listenin tamamına ulaşabilirsiniz.

http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/index.html?migration.html&all-classes.html

Kolay Gelsin

Engin Yöyen!

aç-kapa İçeriğin rss beslemesi kullanımda değil Yorumlar

İçeriğe kayıtlı yorum bulunmuyor. İlk yorumu siz buradan ekleyebilirsiniz.


yeni üyelik | şifremi unuttum

aç-kapa Konferans 2. Ulusal Yazılım Mimarisi Konferansı - UYMK'08

2. Ulusal Yazılım Mimarisi Konferansı - UYMK'08

2.Ulusal Yazılım Mimarisi Konferansı (UYMK’08), 11 – 12 Eylül 2008 tarihlerinde Ege Üniversitesi Bilgisayar Mühendisliği Bölümü ev sah...
Kategori: Konferans

aç-kapa Sergi İstanbul'da Bir Sürrealist: Salvador Dali

İstanbul'da Bir Sürrealist: Salvador Dali

Picasso ve Rodin’den sonra kimi görmek istersiniz deseler; Salvador Dali listenin ilk başlarında yer almaz mı? Ressam, yazar, bilim adamı, tasar...
Kategori: Sergi

aç-kapa Yarışma İnteraktif Pazarlama Zirvesi ve Grand Interactive Awards

İnteraktif Pazarlama Zirvesi ve Grand Interactive Awards

Türkiye’nin interaktif pazarlama projelerini değerlendiren ilk ve tek yarışması Grand Interactive Awards (GIA) için başvurular 15 Ağustos tarihi...
Kategori: Yarışma

aç-kapa Fuar CeBIT 2008 Bilişim Eurasia 7 - 12 Ekim 2008' de

CeBIT 2008 Bilişim Eurasia 7 - 12 Ekim 2008' de

CeBIT Bilişim Eurasia bu yıl 7 – 12 Ekim tarihlerinde düzenleniyor Adını dünyanın en büyük on fuarı arasına yazdırarak, İstanbul’u Avrasy...
Kategori: Fuar

aç-kapa Sempozyum Yazılım Kalitesi ve Yazılım Geliştirme Araçları Sempozyumu 2008 (YKGS 2008)

Yazılım Kalitesi ve Yazılım Geliştirme Araçları Sempozyumu 2008 (YKGS 2008)

Yazılım Kalitesi ve Yazılım Geliştirme Araçları Sempozyumu 2008 (YKGS 2008), yazılım mühendisliği alanında; kalite deneyimlerini, çözümlerini, yazılım...
Kategori: Sempozyum

üyeler Üyelerimizden...

MMIstanbul Adobe UG MMIstanbul Adobe UG

adobe user group

ColdFusion, Flex, AIR, Flash , PDF, Dreamweaver, Fireworks, Photoshop, Illustrator, INdesign, Connect, Premiere, Soundbooth, Contribute, Lightroom, InCopy, JRun, LiveCycle, Acrobat, AfteEffects, Resmi Adobe Kullanıcı Grubu.

stats Kimler Burada? web stats

Son 1 dakika içinde MMIstanbul' da 215 (0 kayıtlı, 215 ziyaretçi) kullanıcı varmış. Login durumda olanlar aşağıda:

coldfusion mysql ubuntu
 
sponsor adobe istanbul