2. Telif Hakk 2008 Adobe Systems Incorporated. Tm haklar
sakldr.ActionScript 3.0 ProgramlamaBu klavuz son kullanc szlemesini
ieren bir yazlmla birlikte verilmise bu klavuz ve onda anlatlan
yazlm lisansldr ve yalnzca bu lisansa uygun ekildekullanlabilir
veya kopyalanabilir. Bu trde bir lisans tarafndan izin verildii
durumlar dnda, bu klavuzun hibir blm Adobe Systems
Incorporatedirketinden nceden yazl izin alnmadan oaltlamaz, geri
alma sistemlerinde depolanamaz veya elektronik, mekanik, kayt
yoluyla veya dier herhangi birekilde veya herhangi bir yntemle
aktarlamaz. Ltfen bu klavuzun ieriinin, klavuz son kullanc lisans
szlemesine sahip bir yazlmla birlikte verilmemiolsa dahi, telif
hakk yasalaryla korunduunu unutmayn.Bu klavuzun ierii yalnzca bilgi
amaldr, nceden haber verilmeden deitirilebilir ve Adobe Systems
Incorporated irketinin bir taahhd olarakyorumlanmamaldr. Adobe
Systems Incorporated bu klavuzdaki bilgilerin hatal veya yanl olmas
durumunda hibir sorumluluk veya ykmllk kabuletmez.Projenize dahil
etmek isteyebileceiniz mevcut resimlerin ve grntlerin telif hakk
yasalaryla korunuyor olabileceini unutmayn. Bu trde malzemenin
yenialmanza yetkisiz olarak katlmas, telif hakk sahibinin haklarn
ihlal etmek anlamna gelebilir. Ltfen telif hakk sahibinden gerekli
tm izinleri aldnzdanemin olun.rnek ablonlarda irket adlarna yaplan
tm referanslar yalnzca tantm amaldr ve hibir gerek kurulula ilgili
deildir.Adobe, the Adobe logo, Adobe AIR, ActionScript, Flash,
Flash Lite, Flex, Flex Builder, MXML, and Pixel Bender are either
registered trademarks or trademarksof Adobe Systems Incorporated in
the United States and/or other countries.ActiveX and Windows are
either registered trademarks or trademarks of Microsoft Corporation
in the United States and other countries. Macintosh is atrademark
of Apple Inc., registered in the United States and other countries.
Java is a trademark or registered trademark of Sun Microsystems,
Inc. in the UnitedStates and other countries.All other trademarks
are the property of their respective owners.This product includes
software developed by the Apache Software Foundation
(http://www.apache.org/).MPEG Layer-3 audio compression technology
licensed by Fraunhofer IIS and Thomson Multimedia
(http://www.mp3licensing.com)Speech compression and decompression
technology licensed from Nellymoser, Inc.
(www.nellymoser.com).Video compression and decompression is powered
by On2 TrueMotion video technology. 1992-2005 On2 Technologies,
Inc. All Rights Reserved.http://www.on2.com.This product includes
software developed by the OpenSymphony Group
(http://www.opensymphony.com/).This product contains either BSAFE
and/or TIPEM software by RSA Security, Inc.Sorenson Spark video
compression and decompression technology licensed from Sorenson
Media, Inc.Adobe Systems Incorporated, 345 Park Avenue, San Jose,
California 95110, USANotice to U.S. government end users. The
software and documentation are Commercial Items, as that term is
defined at 48 C.F.R. 2.101, consisting ofCommercial Computer
Software and Commercial Computer Software Documentation, as such
terms are used in 48 C.F.R. 12.212 or 48 C.F.R. 227.7202,as
applicable. Consistent with 48 C.F.R. 12.212 or 48 C.F.R.
227.7202-1 through 227.7202-4, as applicable, the Commercial
Computer Software andCommercial Computer Software Documentation are
being licensed to U.S. Government end users (a) only as Commercial
items and (b) with only those rightsas are granted to all other end
users pursuant to the terms and conditions herein.
Unpublished-rights reserved under the copyright laws of the United
States.Adobe Systems Incorporated, 345 Park Avenue, San Jose, CA
95110-2704, USA. For U.S. Government End Users, Adobe agrees to
comply with all applicableequal opportunity laws including, if
appropriate, the provisions of Executive Order 11246, as amended,
Section 402 of the Vietnam Era Veterans ReadjustmentAssistance Act
of 1974 (38 USC 4212), and Section 503 of the Rehabilitation Act of
1973, as amended, and the regulations at 41 CFR Parts 60-1 through
60-60,60-250 ,and 60-741. The affirmative action clause and
regulations contained in the preceding sentence shall be
incorporated by reference.
10. 1Blm 1: Bu klavuz hakkndaBu klavuz Adobe ActionScript 3.0da
uygulama gelitirmek iin gerekli olan temel bilgileri sunar. Aklanan
fikir veteknikleri en iyi ekilde anlayabilmek iin veri trleri,
deikenler, dngler ve ilevler gibi genel programlamakavramlarn
bilmeniz gerekmektedir. Ayrca snflar ve miras alma gibi nesne
tabanl temel programlamakavramlarn da anlyor olmanz gerekir.
ActionScript 1.0 veya ActionScript 2.0 bilgisi iinize yarayacak
olsa da artdeildir.Bu klavuzu kullanmaBu klavuzun blmleri
ActionScript belgelerinin ilgili ksmlarn daha kolay bulmanz iin
aadaki mantksalgruplara ayrlmtr:Bu klavuz ayrca nemli veya sk
kullanlan snflar iin uygulama programlama kavramlarn gsteren saysz
rnekdosya ierir. rnek dosyalar Adobe Flash CS4 Professional ile
daha kolay yklenecek ve kullanlabilecek ekildepaketlenmitir ve
saran dosyalar ierebilir. Ancak, rnek kodun temeli istediiniz
gelitirme ortamndakullanabileceiniz ActionScript 3.0
biimindedir.ActionScript 3.0 unlar da dahil olmak zere birden fazla
ekilde yazlabilir ve derlenebilir: Adobe Flex Builder 3 gelitirme
ortamn kullanma Flex Builder 3 ile birlikte verilen gibi herhangi
bir metin dzenleyici ve komut satr derleyici kullanma Adobe Flash
CS4 Professional gelitirme aracn kullanmaActionScript gelitirme
ortamlar ile ilgili daha fazla bilgi iin ActionScript 3.0a giri
sayfa 4 blmne bakn.Bu klavuzdaki kod rneklerini anlamak iin Flex
Builder veya Flash gelitirme arac gibi ActionScript iin
dahiligelitirme ortamlar tecrbeniz olmas gerekli deildir. Ancak bu
aralarla ActionScript 3.0 kodu yazmay ve derlemeyirenmek iin ilgili
aralarn belgelerine bavurmak isteyeceksiniz. Daha fazla bilgi iin
bkz. ActionScript belgelerineeriim sayfa 2.Blmler AklamaBlm 2-5,
ActionScript programlamaya genel bak Dil szdizimi, deyimler,
operatrler ve nesne tabanl ActionScript programlama gibitemel
ActionScript 3.0 kavramlarn ele alr.Blm 6-11, temel ActionScript
3.0 veri trleri vesnflarActionScript 3.0daki st dzey veri trlerini
aklar.Blm 12-32, Flash Player ve Adobe AIR APIleri Olay ileme,
grntleme nesneleri ve grntleme listesiyle alma, a veiletiimler,
dosya girdisi ve kts, harici arabirim, uygulama gvenlik modeli
vebunlar gibi Adobe Flash Player 10 ve AIR uygulamasna zg paket ve
snflardauygulanan nemli zellikleri aklar.
11. 2ACTIONSCRIPT 3.0I PROGRAMLAMABu klavuz hakkndaActionScript
belgelerine eriimBu klavuz arlkl olarak zengin ve gl bir nesne
tabanl programlama dili olan ActionScript 3.0 anlatt iinbelirli bir
ara veya sunucu mimarisi ierisindeki uygulama gelitirme srecine
veya i akna geni yer vermez. Bunedenle, ActionScript 3.0
Programlamann yan sra, ActionScript 3.0 uygulamalarnn tasarlama,
gelitirme, testetme ve konulandrma srecinde dier belgelere de
bavurmak isteyeceksiniz.ActionScript 3.0 belgeleriBu klavuz size
ActionScript 3.0 programlama dilinin altndaki kavramlar tantr ve
dilin nemli zelliklerini gsterenuygulama detaylar ve rnekleri
sunar. Ancak, bu klavuz tam bir dil bavurusu deildir. Bu nedenle,
dil iindeki hersnf, yntemi, zellii ve olay anlatan ActionScript 3.0
Dil ve Bileen Bavurusu blmn inceleyin. ActionScript3.0 Dil ve
Bileenler Bavurusu, temel dil, Flash gelitirme arac bileenleri (fl
paketlerindeki) ve Flash Player ve AdobeAIR APIleri (flash
paketlerindeki) ile ilgili ayrntl bavuru bilgisi sunar.Flash
belgeleriFlash gelitirme aracn kullanyorsanz, u klavuzlara bavurmak
isteyebilirsiniz:Kitap AklamaFlash kullanma Flash gelitirme aracnda
dinamik web uygulamalarnz nasl gelitireceiniziaklarActionScript 3.0
Programlama ActionScript 3.0 dili ve temel Flash Player ve Adobe
AIR APIsinin belirli kullanmnaklarActionScript 3.0 Dil ve Bileenler
Bavurusu Flash gelitirme arac bileenleri ve ActionScript 3.0 APIsi
iin szdizimi, kullanmve kod rnekleri sunarActionScript 3.0
Bileenlerini Kullanma Flash tarafndan oluturulan uygulamalar
gelitirmek iin bileenlerinkullanmyla ilgili ayrntlar aklarFlash CS4
Professional ile Adobe AIR UygulamalarGelitirmeFlash iinde
ActionScript 3.0 ve Adobe AIR APIsi kullanlarak Adobe
AIRuygulamalarnn nasl gelitirileceini ve konulandrlacan anlatrAdobe
Flash iinde ActionScript 2.0 renme ActionScript 2.0 szdizimine
genel bir bak sunar ve farkl nesne trleri ilealrken ActionScript
2.0n nasl kullanlacan aklarActionScript 2.0 Dil Bavurusu Flash
gelitirme arac bileenleri ve ActionScript 2.0 APIsi iin szdizimi,
kullanmve kod rnekleri sunarActionScript 2.0 Bileenlerini Kullanma
Flash tarafndan oluturulan uygulamalar gelitirmek iin ActionScript
2.0bileenlerinin nasl kullanlacan ayrntl ekilde aklarActionScript
2.0 Bileenleri Dil Bavurusu Srm 2 Adobe Bileen Mimarisi ve ilgili
API ierisinde bulunan bileenleri anlatrFlash Geniletme Javascript
APIsi ierisindeki nesneleri, yntemleri ve zellikleri anlatrFlash
Lite 2.x ile almaya Balama Uygulama gelitirmek iin Adobe Flash Lite
2.x uygulamasnn naslkullanlacan aklar ve Flash Lite 2.x ile
kullanlabilen ActionScript zellikleri iinszdizimi, kullanm ve kod
rnekleri sunarFlash Lite 2.x Uygulamalar Gelitirme Flash Lite 2.x
uygulamalarnn nasl gelitirileceini aklarFlash Lite 2.x
ActionScripte Giri Flash Lite 2.x ile nasl uygulama gelitirileceini
gsterir ve Flash Lite 2.xgelitiricilerinin kullanabildii tm
ActionScript zelliklerini anlatrFlash Lite 2.x ActionScript Dil
Bavurusu) Flash Lite 2.x iinde bulunan ActionScript 2.0 APIsi iin
szdizimi, kullanm ve kodrnei sunar.
12. 3ACTIONSCRIPT 3.0I PROGRAMLAMABu klavuz hakkndaActionScript
renme kaynaklarBu klavuzlara ek olarak Adobe, Adobe Gelitirici
Merkezi ve Adobe Tasarm Merkezinde dzenli olarak
gncellenenmakaleler, tasarm fikirleri ve rnekler sunar.Adobe
Gelitirici MerkeziAdobe Gelitirici Merkezinde ActionScript ile
ilgili en son bilgiler, gerek dnya uygulama gelitirme
zerinemakaleler ve nemli yeni konular ile ilgili bilgiler yer
almaktadr. Gelitirici Merkezine www.adobe.com/devnet/adreslerinden
ulaabilirsiniz.Adobe Tasarm MerkeziDijital tasarm ve hareketli
grafik ile ilgili en son bilgileri aln. nemli sanatlarn adyla gz
atn, yeni tasarmeilimlerini kefedin ve dersler, nemli i aklar ve
gelimi tekniklerle becerilerinizi gelitirin. Yeni dersler
vemakaleler ile ilham verici galeri eleri iin iki haftada bir
kontrol edin. Tasarm Merkezinewww.adobe.com/designcenter/
adresinden ulaabilirsiniz.Flash Lite 1.x ile almaya Balama Flash
Lite 1.x uygulamasna giri sunar ve Adobe Device Central CS4
emlatrkullanarak ieriinizi nasl test edeceinizi aklarFlash Lite 1.x
Uygulamalar Gelitirme Flash Lite 1.x kullanlarak mobil cihazlar iin
nasl uygulama gelitirileceinianlatr.Flash Lite 1.x ActionScript
renmek
FlashLite1.xierisindenaslActionScriptkullanlacanveFlashLite1.xierisindebulunan
ActionScript zelliklerini anlatrFlash Lite 1.x ActionScript Dil
Bavurusu
FlashLite1.xierisindebulunanActionScriptelerininszdiziminivekullanmnsunarKitap
Aklama
13. 4Blm 2: ActionScript 3.0a giriBu blmde, en yeni ve en
yeniliki ActionScript srm olan Adobe ActionScript 3.0a genel bak
salanmaktadr.ActionScript hakkndaActionScript, Adobe Flash Player
ve Adobe AIR alma zaman ortamlar iin programlama dilidir. Flash,
Flex veAIR ierik ve uygulamalarnda etkileim, veri ileme ve daha
fazlasna olanak salar.ActionScript, Flash Player ve AIR uygulamasnn
bir paras olan ActionScript Virtual Machine (AVM) tarafndanaltrlr.
ActionScript kodu, Adobe Flash CS4 Professional veya Adobe Flex
Builder uygulamasnda yerleikolanlar ya da Adobe Flex SDK
uygulamasnda kullanlabilir olanlar gibi, genellikle bir derleyici
tarafndan bayt koduformatnda (bilgisayarlar tarafndan yazlan ve
anlalan bir eit programlama dili) derlenir. Bayt kodu, Flash
Playerve AIR uygulamalar tarafndan altrlan SWF dosyalarnda
gmldr.ActionScript 3.0, nesne tabanl programlama konusunda temel
bilgisi olan gelitiricilere bilindik gelecek gl birprogramlama
modeli sunar. ActionScript 3.0n nceki ActionScript srmlerinden daha
gelimi olan baz nemlizellikleri arasnda unlar yer alr: AVM2 ad
verilen ve yeni bir bayt kodu talimat kmesi kullanp nemli lde
performans art salayan yeni birActionScript Virtual Machine. nceki
derleyici srmlerinden daha derin eniyiletirmeler gerekletiren daha
modern bir derleyici kodu Dk dzeyde nesne denetimi ve gerek bir
nesne odakl model ieren, geniletilmi ve gelitirilmi bir
uygulamaprogramlama arabirimi (API) XML iin ECMAScript (E4X)
belirtimini (ECMA-357 srm 2) esas alan XML APIsi. E4X, dilin yerel
veri trolarak ECMAScripte XML ekleyen bir dil uzantsdr. Belge
Nesnesi Modeli (DOM) Dzey 3 Olaylar Belirtimini esas alan bir olay
modeliActionScript 3.0n avantajlarActionScript 3.0, nceki
ActionScript srmlerinin komut dosyas oluturma yeteneklerinden ok
daha fazlasnsunar. Byk veri kmeleri ve nesne tabanl, yeniden
kullanlabilir kod tabanlar ile olduka karmak
uygulamalarnoluturulmasn kolaylatrmak zere tasarlanmtr.
ActionScript 3.0, Adobe Flash Player uygulamasnda alanierik iin
gerekmese de, yalnzca yeni sanal makine olan AVM2 ile kullanlabilen
performans artna bir kap aar.ActionScript 3.0 kodu, eski
ActionScript kodundan on kata kadar daha hzl alabilir.Eski
ActionScript Virtual Machine srm olan AVM1, ActionScript 1.0 ve
ActionScript 2.0 kodunu altrr.Varolan ve eski ierikle geriye doru
uyumluluk salamak iin Flash Player 9 ve 10 tarafndan AVM1
desteklenir. Dahafazla bilgi iin, bkz. nceki srmlerle uyumluluk
sayfa 7.
14. 5ACTIONSCRIPT 3.0I PROGRAMLAMAActionScript 3.0a
giriActionScript 3.0daki yeniliklerActionScript 3.0, ActionScript
programclara tandk gelen birok snf ve zellik ierse de, ActionScript
3.0 mimari vekavramsal adan nceki ActionScript srmlerinden farkldr.
ActionScript 3.0daki gelitirmeler arasnda, ekirdekdilin yeni
zellikleri ve dk dzeyli nesneler zerinde daha yksek denetim salayan
gelimi Flash Player APIsi yeralr.Not: Adobe AIR uygulamalar, Flash
Player APIlerini de kullanabilir.ekirdek dil zellikleriekirdek dil,
programlama dilinin deyimler, ifadeler, koullar, dngler ve trler
gibi temel bina bloklarn tanmlar.ActionScript 3.0, gelitirme
ilemini hzlandran birok yeni zellik ierir.alma zaman
istisnalarActionScript 3.0, nceki ActionScript srmlerinden daha ok
hata koulu bildirir. Yaygn hata koullar iin almazaman istisnalar
kullanlarak hata ayklama deneyimini gelitirir ve hatalar daha gl
ekilde ileyen uygulamalargelitirmenizi salar. alma zaman hatalar,
kaynak dosya ve satr numaras bilgilerini ek aklama olarak verenyn
izleri salayarak hzl ekilde hatalarn yerini belirlemenize yardmc
olur.alma zaman trleriActionScript 2.0da tr ek aklamalar birincil
olarak gelitiriciye yardm salama amalyd; alma zamannda tmdeerler
dinamik olarak trlenmitir. ActionScript 3.0da, tr aklamalar alma
zamannda korunur ve birok amaiin kullanlr. Flash Player ve Adobe
AIR, alma zaman, alma zaman tr denetlemesi uygulayarak sistemin
trgvenliini artrr. Tr bilgileri ayn zamanda yerel makine
temsillerinde deikenleri temsil etmek iin de kullanlarakperformans
artrr ve bellek kullanmn azaltr.Mhrlenmi snflarActionScript 3.0,
mhrlenmi snf kavramn getirmitir. Mhrlenmi bir snf, derleme zamannda
tanmlanmyalnzca sabit zellikler ve yntemler kmesine sahiptir; bu
snfa ek zellikler ve yntemler eklenemez. Bu da dahakat derleme
zaman denetlemesi salayarak daha gl programlar olumasna neden olur.
Buna ek olarak, nesnerneklerinin her biri iin dahili bir karma
tablo gerektirmeyerek bellek kullanmn da azaltr. dynamic
anahtarszcnn kullanlmasyla dinamik snflar da mmkndr. ActionScript
3.0daki tm snflar varsaylan olarakmhrlenmitir ancak dynamic anahtar
szcyle bu snflarn dinamik olduu bildirilebilir.Yntem
kapanActionScript 3.0, yntem kapannn otomatik olarak orijinal nesne
rneini hatrlamasna olanak salar. Bu zellik,olay ilemesi iin
kullanldr. ActionScript 2.0da, yntem kapanlar hangi nesne rneinden
ayklandklarnhatrlamaz ve bu da yntem kapan arldnda beklenmeyen
davran olumasna neden olur. mx.utils.Delegatesnf sk kullanlan bir
geici zmdr ancak artk buna ihtiya kalmamtr.XML iin ECMAScript
(E4X)ActionScript 3.0, en son ECMA-357 olarak standartlatrlm olan
XML iin ECMAScript (E4X) uygular. E4X,XMLin ilenmesi iin doal ve
akc bir dil yaplar kmesi sunar. Geleneksel XML ayrtrma APIlerinin
tersine, E4Xile XML, dilin yerel bir veri trym gibi hareket eder.
E4X, ihtiya duyulan kod miktarn byk lde azaltarakXMLi ileyen
uygulamalarn gelitirilmesini kolaylatrr. E4Xin ActionScript 3.0
uygulamas hakknda daha fazlabilgi almak iin, bkz. XML ile alma
sayfa 222.ECMAnn E4X belirtimini grntlemek iin
www.ecma-international.org adresine gidin.
15. 6ACTIONSCRIPT 3.0I PROGRAMLAMAActionScript 3.0a giriNormal
ifadelerActionScript 3.0, hzl ekilde dizeleri arayabilmeniz ve
ileyebilmeniz amacyla normal ifadeler iin yerel destek
ierir.ECMAScript (ECMA-262) srm 3 dil belirtiminde belirtildii
ekilde ActionScript 3.0, normal ifadeler iin destekuygular.Ad
alanlarAd alanlar, bildirimlerin grnrln (public, private,
protected) kontrol etmek iin kullanlan gelenekseleriim
belirticilerine benzer. Bunlar, setiiniz adlara sahip olabilen zel
eriim belirticileri olarak alr. akmalarnlemek iin, ad alanlarnda
bir Universal Resource Identifier (URI) bulunur ve E4X ile altnzda
XML adalanlarn temsil etmek iin de ad alanlar kullanlr.Yeni ilkel
trlerActionScript 2.0, Number adnda, ift kesinlikli ve kayan nokta
says olan tek bir saysal tre sahiptir. ActionScript3.0, int ve uint
trlerini ierir. int tr, ActionScriptin CPU iin hzl tam say
matematik yeteneklerindenfaydalanmasna olanak salayan 32-bit
iaretli bir tam saydr. int tr, dng sayalar ve tam saylarn
kullanlddeikenler iin kullanldr. uint tr, RGB renk deerleri, bayt
saylar ve daha fazlas iin kullanl olan iaretsiz,32-bit tam say
trdr.Flash Player APIsinin zellikleriActionScript 3.0daki Flash
Player APIleri, dk bir dzeydeki nesneleri kontrol etmenize olanak
salayan biroksnf ierir. Dil mimarisi, nceki srmlere gre daha
sezgisel olacak ekilde tasarlanmtr. Burada ayrntl ekilde elealnacak
ok fazla sayda yeni snf olsa da, ilerleyen blmlerde baz nemli
deiikliklere yer verilmitir.Not: Adobe AIR uygulamalar, Flash
Player APIlerini de kullanabilir.DOM3 olay modeliBelge Nesnesi
Modeli Dzey 3 olay modeli (DOM3), uygulama iindeki nesnelerin
etkileim ve iletiim kurarakdurumlarn koruyabilmesi ve deiiklie yant
vermesi iin olay mesajlar oluturma ve ilemeye ynelik standart
biryntem salar. World Wide Web Consortium DOM Dzey 3 Olaylar
Belirtiminden sonra dzenlenen bu model,nceki ActionScript
srmlerinde kullanlabilir olan olay sistemlerinden daha net ve daha
etkili bir mekanizma salar.Olaylar ve hata olaylar, flash.events
paketinde bulunur. Flash bileenleri erevesi, Flash Player APIsiyle
ayn olaymodelini kullanr, bu nedenle olay sistemi tm Flash
platformunda birletirilmitir.Grntleme listesi APIsiFlash Player ve
Adobe AIR grntleme listesine (uygulamadaki grsel eleri ieren aa)
erime APIsi, grsel ilkelelerle almaya ynelik snflar ierir.Yeni
Sprite snf, hafif bir bina blou olup MovieClip snfna benzer ancak
UI bileenleri iin temel snf olarak dahauygundur. Yeni Shape snf ham
vektr ekillerini temsil eder. Bu snflar new operatryle doal olarak
balatlabilirve herhangi bir zamanda dinamik olarak yeniden st eye
sahip olabilir.Derinlik ynetimi imdi otomatiktir ve Flash Player ve
Adobe AIR uygulamalarnda yerleik olarak bulunur, bylecederinlik
saylarnn atamasnn oluturulmas gereksizdir. Nesnelerin z srasnn
belirtilmesi ve ynetilmesi iin yeniyntemler salanr.
16. 7ACTIONSCRIPT 3.0I PROGRAMLAMAActionScript 3.0a giriDinamik
verileri ve ierikleri ilemeActionScript 3.0, uygulamanzda varlklarn
ve verilerin yklenmesi iin tm APIde sezgisel ve tutarl
olanmekanizmalar ierir. Yeni Loader snf, SWF dosyalarnn ve grnt
varlklarnn yklenmesi iin tek bir mekanizmave yklenen ierikle ilgili
ayrntl bilgilere erime yolu salar. URLLoader snf, veri tabanl
uygulamalarda metin veikili verilerin yklenmesi iin ayr bir
mekanizma salar. Socket snf, sunucu soketlerine herhangi bir
formatta ikiliverileri okuyup yazmak iin bir ara salar.Dk dzeyli
veri eriimieitli APIler, nceden ActionScriptte asla kullanlabilir
olmayan verilere dk dzeyli eriim salar. URLLoadertarafndan
uygulanan URLStream snf, indirilen veriler iin, indirme srasnda
verilere ham ikili veriler olarakeriilmesini salar. ByteArray snf,
ikili verilerle okumay, yazmay ve almay eniyiletirmenize olanak
salar. YeniSound APIsi, SoundChannel ve SoundMixer snflar zerinden
ayrntl ses denetimi salar. Gvenlikle ilgilenen yeniAPIler, SWF
dosyasnn veya yklenen ieriin gvenlik ayrcalklar hakknda bilgi
salayarak gvenlik hatalarndaha iyi ilemenize olanak tanr.Metinle
almaActionScript 3.0, tm metinle ilgili APIler iin bir flash.text
paketi ierir. TextLineMetrics snf, bir metin alanndakimetin satr
iin ayrntl ltler salar; ActionScript 2.0daki
TextFormat.getTextExtent() esinin yerini alr.TextField snf, bir
metin satr veya bir metin satrndaki tek bir karakter hakknda
belirli bilgiler salayabilen ilginzellikte birok yeni dk dzeyli
yntemler ierir. Bu yntemler arasnda, bir karakterin snrlama
kutusunu temsileden dikdrtgeni dndren getCharBoundaries(),
belirtilen bir noktadaki karakterin dizinini
dndrengetCharIndexAtPoint() ve bir paragraftaki birinci karakterin
dizinini dndren getFirstCharInParagraph()yer alr. Satr dzeyindeki
yntemler arasnda, belirtilen bir metin satrndaki karakterlerin
saysn dndrengetLineLength() ve belirtilen satrn metnini dndren
getLineText() yer alr. Yeni bir Font snf, SWFdosyalarndaki gml
fontlarn ynetilmesi iin aralar salar.nceki srmlerle uyumlulukFlash
Player her zamanki gibi, nceden yaynlanm ierikle geriye doru tam
uyumluluk salar. nceki Flash Playersrmlerinde alan tm ierikler
Flash Player 9 ve sonrasnda da alr. Ancak Flash Player 9da
ActionScript 3.0nbulunmas, eski ierik ile Flash Player 9da alan
yeni ierik arasnda birlikte allabilirlik konusunda zorluklara
yolaabilir. Uyumluluk sorunlar arasnda unlar yer alr: Tek bir SWF
dosyas, ActionScript 1.0 veya 2.0 kodunu ActionScript 3.0 koduyla
birletiremez. ActionScript 3.0 kodu, ActionScript 1.0 veya 2.0da
yazlm bir SWF dosyasn ykleyebilir ancak SWF dosyasnndeikenlerine ve
ilevlerine eriemez. ActionScript 1.0 veya 2.0da yazlm SWF dosyalar,
ActionScript 3.0da yazlm SWF dosyalarn ykleyemez. Buda, Flash 8
veya Flex Builder 1.5 ya da nceki srmlerde yazlm SWF dosyalarnn
ActionScript 3.0 SWFdosyalarn ykleyemedii anlamna gelir.Bu kuraln
tek istisnas, ActionScript 2.0 SWF dosyas, dzeylerinden birine
nceden herhangi bir ey yklemediisrece, ActionScript 2.0 SWF
dosyasnn bir ActionScript 3.0 SWF dosyasyla kendisini
deitirebilmesidir.ActionScript 2.0 SWF dosyas, loadMovieNum() esine
bir ar yapp level parametresine 0 deerini ileterekbunu
yapabilir.
17. 8ACTIONSCRIPT 3.0I PROGRAMLAMAActionScript 3.0a giri
Genelde, ActionScript 3.0da yazlm SWF dosyalaryla birlikte
alacaksa, ActionScript 1.0 veya 2.0da yazlmSWF dosyalarnn alnmas
gerekir. rnein, ActionScript 2.0 kullanarak bir ortam oynatcs
oluturduunuzuvarsayn. Ortam oynatcs, ayrca ActionScript 2.0da
oluturulmu eitli ierikleri de ykler. ActionScript 3.0dayeni ierik
oluturup bu ierii ortam oynatcsna ykleyemezsiniz. Video oynatcsn
ActionScript 3.0a almanzgerekir.Ancak ActionScript 3.0da bir ortam
oynatcs oluturursanz, bu ortam oynatcs ActionScript 2.0
ieriinizinbasit yklemelerini gerekletirebilir.Aadaki tablolarda,
nceki Flash Player srmlerinin yeni ierik yklenmesi ve kod
altrlmasyla ilgilisnrlamalar ve farkl ActionScript srmlerinde yazlm
SWF dosyalar arasnda apraz komut dosyas oluturmasnrlamalar
zetlenmektedir.Aadaki tabloda yer alan Desteklenen ilevler, Flash
Player 9 veya sonrasnda altrlan ierikleri ifade eder. FlashPlayer 8
veya ncesinde alan ierikler yalnzca ActionScript 1.0 ve 2.0da
yklenebilir, grntlenebilir,altrlabilir ve bu ieriklerin apraz komut
dosyas oluturulabilir.Desteklenen ilevler Flash Player 7 Flash
Player 8 Flash Player 9 ve 10unlar iin yaynlanm SWF
dosyalarnykleyebilir7 ve ncesi 8 ve ncesi 9 (veya 10) ve ncesiBu
AVMyi ierir AVM1 AVM1 AVM1 ve AVM2u ActionScript srmlerinde
yazlmSWFleri altrr1.0 ve 2.0 1.0 ve 2.0 1.0 ve 2.0 ve
3.0Desteklenen ilevler ActionScript 1.0 ve 2.0da
oluturulanierikActionScript 3.0da oluturulan ieriku srmlerde
oluturulan ierik yklenebilirve ierikteki kod altrlabiliryalnzca
ActionScript 1.0 ve 2.0 ActionScript 1.0, 2.0 ve ActionScript 3.0u
srmlerde oluturulan ieriin aprazkomut dosyas
oluturulabiliryalnzcaActionScript1.0ve2.0(YerelBalantzerinden
ActionScript 3.0)Yerel Balant zerinden ActionScript 1.0
ve2.0ActionScript 3.0
18. 9Blm 3: ActionScript ile almayabalamaBu blm, ActionScript
programlamaya balamanz iin tasarlanm olup bu klavuzun geri kalannda
karlaacanzkavramlar ve rnekleri anlamak iin ihtiya duyacanz arka
plan size salar. ActionScriptte uygulanma eklikapsamnda aklanan
temel programlama kavramlaryla balayacaz. Ayrca ActionScript
uygulamasnn organizeedilmesi ve oluturulmas temellerini de ele
alacaz.Programlama temelleriActionScript bir programlama dili
olduundan, ilk nce birka genel bilgisayar programlama kavramn
anlarsanz,ActionScripti renmeniz kolaylaacaktr.Bilgisayar
programlar ne yaparncelikle, bilgisayar programnn ne olduuna ve ne
yaptna dair kavramsal bir fikir edinilmesi yardmc
olacaktr.Bilgisayar programnn iki yn vardr: Program, bilgisayarn
gerekletirmesi iin tasarlanm talimatlar veya admlar serisidir. Her
adm baz bilgi veya verilerin ilenmesini ierir.Genel anlamda
bilgisayar program, bilgisayara verdiiniz ve bilgisayar tarafndan
birer birer gerekletirilen admadm talimatlar listesidir.
Talimatlarn her birine deyim denir. Bu klavuzda da greceiniz gibi,
ActionScriptte herdeyim, sonunda bir noktal virgl olacak ekilde
yazlr.Temelde, bir programdaki talimatn yapt tm ey, bilgisayarn
belleinde saklanan baz veri bitlerini ilemektenibarettir. Basit bir
rnek vermek gerekirse, bilgisayara iki say eklemesini ve sonucu
belleinde saklamasn talimatolarak verebilirsiniz. Daha karmak bir
rnek vermek gerekirse, ekranda izili bir dikdrtgen olduunu ve
budikdrtgeni baka bir yere tamak iin bir program yazmak istediinizi
varsayalm. Bilgisayar, dikdrtgenle ilgilibelirli bilgileri izler,
rn. dikdrtgenin konumlandrld x, y koordinatlar, genilii, uzunluu,
rengi, vb. Bu bilgibitlerinin her biri bilgisayarn belleinde bir
yerde saklanr. Dikdrtgeni farkl bir konuma tama program,
"xkoordinatn 200 olarak deitir; y koordinatn 15 olarak deitir"
(baka bir deyile, x ve y koordinatlar iinkullanlacak yeni deerleri
belirten) gibi admlar ierecektir. Elbette bilgisayar bu saylar
gerekten bilgisayarekrannda grntlenen grntye dntrmek iin bu
verilerle bir eyler yapar; ancak u an iin bizi ilgilendirenayrnt
dzeyine gre, "ekrandaki dikdrtgeni tama" ileminin gerekten
bilgisayar belleindeki veri bitlerinindeitirilmesiyle gerekletiinin
bilinmesi yeterlidir.Deikenler ve sabitlerProgramlama temel olarak
bilgisayar belleindeki bilgilerin deitirilmesini ierdiinden,
programda tek bir bilgiyitemsil etmenin bir yolunun olmas gerekir.
Deiken, bilgisayar belleindeki bir deeri temsil eden addr.
Deerleriilemek iin deyimler yazdnzda, deerin yerine deikenin adn
yazarsnz; bilgisayar deiken adnprogramnzda her grdnde, belleine
bakar ve orada bulduu deeri kullanr. rnein, her biri bir say
ieren,value1 ve value2 adnda iki deikeniniz varsa, bu iki sayy
eklemek iin u deyimi yazabilirsiniz:value1 + value2
19. 10ACTIONSCRIPT 3.0I PROGRAMLAMAActionScript ile almaya
balamaBilgisayar gerekten admlar uygularken, her deikendeki
deerlere bakar ve bunlar birbirine ekler.ActionScript 3.0da, bir
deiken farkl blmden oluur: Deikenin ad Deikende saklanabilen veri
tr Bilgisayarn belleinde saklanan gerek deerBilgisayarn, deerin yer
tutucusu olarak ad nasl kullandn akladk. Veri tr de nemlidir.
ActionScriptte birdeiken oluturduunuzda, bu deikenin barndraca
belirli veri trn belirtirsiniz; bu noktadan sonra,programnzn
talimatlar deikende yalnzca o veri trn saklayabilir ve siz de o
veri tryle ilikilendirilmi belirlizellikleri kullanarak deeri
ileyebilirsiniz. ActionScriptte, bir deiken oluturmak iin (deikeni
bildirmek dedenilebilir), var deyimini kullanrsnz:var
value1:Number;Bu durumda, bilgisayara yalnzca Number verilerini
("Number", ActionScriptte tanml belirli bir veri trdr)barndracak
value1 adnda bir deiken oluturmas talimatn verdik. Deikende hemen
bir deeri desaklayabilirsiniz:var value2:Number = 17;Adobe Flash
CS4 Professionalda bir deiken bildirmenin baka bir yolu vardr.
Sahne Alanna bir film klibi sembol,dme sembol veya metin alan
yerletirdiinizde, zellik denetisinde buna bir rnek ad
verebilirsiniz. Flashuygulamas, sahne alannn arkasnda rnek adyla
ayn ada sahip bir deiken oluturur ve bu Sahne Alan esiniifade etmek
iin ActionScript kodunuzda bu deikeni kullanabilirsiniz. Bylece,
rnein Sahne Alannda bir filmklibi sembolnz olursa ve buna
rocketShip rnek adn verirseniz, ActionScript kodunuzda
rocketShipdeikenini her kullandnzda, aslnda bu film klibini iliyor
olursunuz.Sabit, bilgisayarn belleinde belirli bir veri tryle bir
deeri temsil eden bir ad olmas asndan deikene ok benzer.Tek fark,
sabite bir ActionScript uygulamas srasnda yalnzca bir kere deer
atanabilmesidir. Sabitin deeriatandktan sonra tm uygulamada bu deer
ayn kalr. Sabit bildirme szdizimi, deiken bildirme
szdizimiyleayndr, tek fark, var anahtar szc yerine const anahtar
szcnn kullanlmasdr:const SALES_TAX_RATE:Number = 0.07;Bir proje
boyunca birden ok yerde kullanlan ve normal koullarda deimeyecek
bir deeri tanmlamak iin sabitkullanldr. Deimez deer yerine bir
sabit kullanlmas, kodunuzu daha okunakl hale getirir. rnein, bir
fiyatSALES_TAX_RATE deeriyle arpan bir kod satrnn anlalmas, fiyat
0.07 deeriyle arpan bir kod satrna gre dahakolaydr. Ayrca, bir
sabit tarafndan tanmlanan deerin deimesi gerekmiyorsa, projeniz
boyunca o deeri temsiletmek iin bir sabit kullanrsanz, sabit kodlu
deimez deerleri kullandnzda yaptnz gibi eitli yerlerde
deerideitirmek yerine yalnzca bir yerde (sabit bildiriminde) deeri
deitirmeniz gerekir.Veri trleriActionScriptte, oluturduunuz
deikenlerin veri tr olarak kullanabileceiniz birok veri tr vardr.
Bunlardanbazlar "basit" veya "temel" veri trleri olarak
deerlendirilebilir: Dize: bir ad veya kitabn bir blm gibi, metin
deeri Saysal: ActionScript 3.0, saysal veriler iin zel veri tr
ierir: Say: kesirli veya kesirsiz saylar da dahil olmak zere
herhangi bir saysal deer int: bir tam say (kesirsiz bir tam say)
uint: iaretsiz tam say, baka bir deyile negatif olamayan btn bir
say
20. 11ACTIONSCRIPT 3.0I PROGRAMLAMAActionScript ile almaya
balama Boolean: bir dmenin etkin olup olmad veya iki deerin eit
olup olmad gibi, doru veya yanl deeriBasit veri trleri tek bir
bilgiyi temsil eder: rnein, tek bir say veya tek bir metin sras
Ancak, ActionScriptte tanmlveri trlerinin ounluu, birlikte
gruplandrlabilen deerler kmesini temsil ettiinden, karmak veriler
olarakaklanabilir. rnein, Date veri trne sahip bir deiken, tek bir
deeri (tek bir zaman) temsil eder. Ancak, bu deergerekte birok deer
olarak temsil edilir: gn, ay, yl, saat, dakika, saniye, vb. ve
bunlarn her biri ayr ayr bir saydr.Bylece, biz tarihi tek bir deer
olarak dnrken (ve Date deikenini oluturarak tek bir deer
olarakdeerlendirebilirken), bilgisayar dahili olarak bunu birok
deerden oluan bir grup olarak deerlendirir, bir arayagetirir ve tek
bir tarihi tanmlar.Programclarn tanmlad veri trlerinin yan sra,
yerleik veri trlerinin ou da karmak veri trleridir.Tanyabileceiniz
karmak veri trlerinden bazlar unlardr: MovieClip: bir film klibi
sembol TextField: dinamik bir alan veya girdi metni alan
SimpleButton: bir dme sembol Date: tek bir zaman (tarih ve saat)
hakkndaki bilgiSnf ve nesne szckleri genellikle veri tr iin eanlaml
olarak kullanlr. Snf, veri trnn tanmdr, veri trnntm nesneleri iin
bir ablon gibidir, rn. "Example veri trnn tm deikenleri bu
zelliklere sahiptir: A, B ve C."sylemine benzer. Nesne ise snfn
gerek bir rneidir; veri tr MovieClip olan bir deiken, MovieClip
nesnesiolarak aklanabilir. Aada, ayn eyi sylemenin birka farkl yolu
verilmitir: myVariable deikeninin veri tr Numberdr. myVariable
deikeni bir Number rneidir. myVariable deikeni bir Number
nesnesidir. myVariable deikeni, Number snfnn bir rneidir.Nesnelerle
almaActionScript, nesne odakl programlama dili olarak bilinir.
Nesne odakl programlama, bir programlama yaklamolup nesneleri
kullanarak bir programda kodu organize etme yolundan fazlasn ifade
etmez.Daha nce bilgisayar programn, bilgisayarn gerekletirdii bir
admlar ve talimatlar serisi olarak tanmladk. Budurumda kavramsal
olarak bilgisayar tek bir uzun talimatlar listesi olarak
dnebiliriz. Ancak, nesne odaklprogramlamada, program talimatlar
farkl nesneler arasnda blnrkod, ilev kmeleri olarak
gruplandrlr,bylece ilgili ilev trleri veya ilgili bilgiler tek bir
konteynerde bir arada gruplandrlr.Aslnda, Flash uygulamasnda
sembollerle altysanz, nesnelerle de almaya hazrsnz demektir. Bir
film klibisembolrnein bir dikdrtgen izimitanmladnz ve bunun bir
kopyasn Sahne Alanna yerletirdiinizivarsayn. Bu film klibi ayn
zamanda (gerekten) ActionScriptte bir nesnedir; MovieClip snfnn bir
rneidir.Film klibinin deitirebileceiniz eitli zellikleri vardr.
rnein, seili olduunda, zellik denetisindedeitirebileceiniz deerler
vardr, rn. x koordinat, genilik veya alfa (saydamlk) deitirme ya da
glge filtresiekleme gibi eitli renk ayarlamalar. Dikdrtgeni dndrmek
iin Serbest Dntrme aracnn kullanlmas gibi,dier Flash aralar daha
fazla deiiklik yapmanza olanak salar. Flash gelitirme ortamnda bir
film klibi sembolndeitirmek iin kullanabildiiniz tm bu eyleri ayn
zamanda MovieClip nesnesi adndaki tek bir kmede bir arayagetirilmi
verileri deitirerek ActionScriptte de yapabilirsiniz.
21. 12ACTIONSCRIPT 3.0I PROGRAMLAMAActionScript ile almaya
balamaActionScript nesne odakl programlamada, herhangi bir snfn
ierebilecei zellik tr vardr: zellikler Yntemler OlaylarBu eler,
program tarafndan kullanlan verileri ynetmek ve hangi eylemlerin ne
srada yaplacana karar vermekiin birlikte kullanlr.zelliklerzellik,
bir nesnede kmelenmi olan verilerden birini temsil eder. Bir ark
nesnesi, artist ve title adndazelliklere sahip olabilir; MovieClip
snf rotation, x, width ve alpha gibi zelliklere sahiptir. Tek tek
deikenlergibi zelliklerle alabilirsinizaslnda zellikleri bir
nesnede bulunan "alt" deikenler olarak dnebilirsiniz.Aada, zellik
kullanan birka ActionScript kodu rnekleri verilmitir. Bu kod satr,
square adndaki MovieClipesini 100 piksel x koordinatna tar:square.x
= 100;Bu kod, triangle MovieClip esinin dnyle eleecek ekilde square
MovieClip esinin dnmesini salamakiin rotation zelliini
kullanr:square.rotation = triangle.rotation;Bu kod, square
MovieClip esinin eski halinden bir buuk kat daha geni olmasn
salayacak ekilde yatay leinideitirir:square.scaleX = 1.5;Ortak
yapya dikkat edin: nesnenin ad srayla nesnenin adn (square,
triangle), bir nokta iaretini (.) ve zelliinadn (x, rotation,
scaleX) ierir. Nokta operatr olarak da bilinen nokta iareti, bir
nesnenin alt elerinden birineerimekte olduunu belirtmek iin
kullanlr. Tm yap olduu gibi "deiken ad-nokta-zellik ad", tek bir
deikengibi, bilgisayar belleindeki tek bir deerin ad olarak
kullanlr.YntemlerYntem, bir nesne tarafndan gerekletirilebilen bir
eylemdir. rnein, Flash uygulamasnda, zaman izelgesindebirok anahtar
kare ve animasyonla bir film klibi sembol oluturduysanz, bu film
klibi oynatlabilir veyadurdurulabilir ya da bu film klibine oynatma
kafasn belirli bir kareye tamas bildirilebilir.Bu kod, shortFilm
adndaki MovieClip esine oynatmay balatmasn
bildirir:shortFilm.play();Bu satr, shortFilm adndaki MovieClip
esinin oynatmay durdurmasn salar (oynatma kafas, videoduraklatlm
gibi yerinde durdurulur):shortFilm.stop();Bu kod, shortFilm adndaki
MovieClip esinin oynatma kafasn Kare 1e tayp oynatmay durdurmasn
salar(videoyu geri sarmak gibi):shortFilm.gotoAndStop(1);
22. 13ACTIONSCRIPT 3.0I PROGRAMLAMAActionScript ile almaya
balamaGrdnz gibi, yntemlere de, tpk zellikler gibi srayla nesnenin
ad (bir deiken), nokta iareti, yntemin adve parantez iaretleri
yazlarak eriilebilir. Parantezler, yntemi ardnz veya baka bir
deyile nesneye o eylemigerekletirmesini bildirdiinizi belirtmenin
yoludur. Bazen eylemi gerekletirmek iin gerekli olan ek
bilgileriiletmenin bir yolu olarak, deerler (veya deikenler)
parantez iine yerletirilir. Bu deerler, yntem parametreleriolarak
bilinir. rnein, gotoAndStop() ynteminin hangi kareye gideceini
bilmesi gerekir, bu nedenle parantez iintek bir parametre olmas
gereklidir. play() ve stop() gibi dier yntemler kendinden aklaycdr
ve bu nedenle defazladan bilgi gerektirmez. Ancak yine de parantez
iinde yazlr.zelliklerden (ve deikenlerden) farkl olarak, yntemler
deer yer tutucular olarak kullanlmaz. Ancak bazyntemler
hesaplamalar gerekletirebilir ve bir deiken olarak kullanlabilecek
bir sonu dndrebilir. rnein,Number snfnn toString() yntemi, saysal
deeri metin olarak temsil edilen haline dntrr:var
numericData:Number = 9;var textData:String =
numericData.toString();rnein, Bir Number deikeninin deerini ekranda
bir metin alannda grntlemek isterseniz, toString()yntemini
kullanrsnz. TextField snfnn text zellii (ekranda grntlenen gerek
metin ieriini temsil eder),String olarak tanmlanr, bu nedenle
yalnzca metin deerlerini ierebilir. Bu kod satr, numericData
deikenindekisaysal deeri metne dntrr ve sonra bu metnin ekranda
calculatorDisplay adndaki TextField nesnesindegsterilmesini
salar:calculatorDisplay.text =
numericData.toString();OlaylarBilgisayar programn, bilgisayarn adm
adm gerekletirdii bir talimatlar dizisi olarak aklamtk. Baz
basitbilgisayar programlar, bilgisayarn gerekletirdii ve program
sona erdiren birka admdan fazlasn iermez.Ancak, ActionScript
programlar srekli alacak ve kullanc girdisinin veya baka eylerin
olumasn bekleyecekekilde tasarlanmtr. Olaylar, bilgisayarn hangi
talimatlar ne zaman gerekletireceini belirleyen mekanizmadr.Temel
olarak olaylar, ActionScriptin farknda olduu ve yant verdii,
gerekleen eylerdir. Kullancnn bir dmeyitklatmas veya klavyedeki bir
tua basmas gibi birok olay kullanc etkileimiyle ilgilidir ancak
baka tr olaylar davardr. rnein, harici bir grnty yklemek iin
ActionScripti kullanrsanz, grnt yklemesinin bittiini sizebildiren
bir olay vardr. Temelde, bir ActionScript program alrken, Adobe
Flash Player ve Adobe AIR durup belirlieylerin gereklemesini bekler
ve bu eyler gerekletiinde, bu olaylar iin belirttiiniz belirli bir
ActionScriptkodunu altrr.Temel olay ilemeBelirli bir olaya yant
olarak gerekletirilmesi gereken belirli eylemleri belirtme teknii,
olay ileme olarak bilinir. Olayileme gerekletirmek iin ActionScript
kodu yazarken tanmlamanz gereken nemli e vardr: Olay kayna: Olayn
gerekleecei nesne hangisidir? rnein, hangi dme tklatlacak veya
hangi Loader nesnesigrnty yklyor? Olay kayna, Flash Player veya AIR
tarafndan olayn hedeflendii (baka bir deyile olayngere