740
ADOBE ® ACTIONSCRIPT ® 3.0'ı Programlama

Adobe actionscript 3.0 programlama türkçe

Embed Size (px)

DESCRIPTION

Adobe actionscript 3.0 programlama türkçe

Citation preview

  • 1. ADOBEACTIONSCRIPT3.0Programlama
  • 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.
  • 3. iiiindekilerBlm 1: Bu klavuz hakkndaBu klavuzu kullanma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1ActionScript belgelerine eriim . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2ActionScript renme kaynaklar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3Blm 2: ActionScript 3.0a giriActionScript hakknda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4ActionScript 3.0n avantajlar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4ActionScript 3.0daki yenilikler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5nceki srmlerle uyumluluk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7Blm 3: ActionScript ile almaya balamaProgramlama temelleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9Nesnelerle alma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11Ortak program eleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19rnek: Animasyon portfy paras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21ActionScript ile uygulamalar oluturma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23Kendi snflarnz oluturma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27rnek: Temel bir uygulama oluturma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29Sonraki rnekleri altrma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34Blm 4: ActionScript dili ve szdizimiDile genel bak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37Nesneler ve snflar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38Paketler ve ad alanlar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38Deikenler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48Veri trleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51Szdizimi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63Operatrler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68Koullar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73Dng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75levler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78Blm 5: ActionScriptte nesne tabanl programlamaNesne tabanl programlama temelleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89Snflar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90Arabirimler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104Miras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106Gelimi balklar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114rnek: GeometricShapes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121Blm 6: Tarih ve saatlerle almaTarih ve saat temelleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129Takvim tarih ve saatlerini ynetme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
  • 4. ivACTIONSCRIPT 3.0I PROGRAMLAMAindekilerZaman aralklarn denetleme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132rnek: Basit analog saat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134Blm 7: Dizelerle almaDizelerin temelleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138Dizeler oluturma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139length zellii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140Dizelerdeki karakterlerle alma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140Dizeleri karlatrma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141Dier nesnelerin dize halinde temsilini alma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142Dizeleri bititirme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142Dizelerdeki alt dizeleri ve desenleri bulma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142Dizeleri byk harfe veya kk harfe dntrme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146rnek: ASCII art . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146Blm 8: Dizilerle almaDizilerin temelleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152Dizinlenmi diziler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154likilendirilebilir diziler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164ok boyutlu diziler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168Dizileri klonlama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169Gelimi balklar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170rnek: PlayList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175Blm 9: Hatalar ilemeHata ilemenin temelleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179Hata trleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181ActionScript 3.0da hata ileme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183Flash Player ve AIR uygulamalarnn hata ayklayc srmleriyle alma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184Bir uygulamada ezamanl hatalar ileme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185zel hata snflar oluturma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189Hata olaylarn ve durumunu yantlama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190Error snflarn karlatrma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193rnek: CustomErrors uygulamas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197Blm 10: Normal ifadeler kullanmaNormal ifadelerin temelleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202Normal ifade szdizimi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204Dizelerle normal ifadeleri kullanma yntemleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216rnek: Wiki ayrtrc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217Blm 11: XML ile almaXML temelleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222XML ilemeye ynelik E4X yaklam . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225XML nesneleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227XMLList nesneleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229XML deikenlerini balatma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230XML nesnelerini birletirme ve dntrme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
  • 5. vACTIONSCRIPT 3.0I PROGRAMLAMAindekilerXML yaplarnda gei yapma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233XML ad alanlarn kullanma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237XML tr dntrmesi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238Harici XML belgelerini okuma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239rnek: Internetten RSS ykleme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240Blm 12: Olaylar ilemeOlay ileme temelleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243ActionScript 3.0 olay ileme, nceki srmlerden nasl farkllk gsterir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245Olay ak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247Olay nesneleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249Olay dinleyicileri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253rnek: Alarm Clock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259Blm 13: Grnt programlamaGrnt programlama temelleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265ekirdek grntleme snflar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269Grntleme listesi yaklamnn avantajlar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270Grntleme nesneleriyle alma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273Grntleme nesnelerini ileme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284Nesnelere animasyon uygulama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302Grntleme ieriini dinamik olarak ykleme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304rnek: SpriteArranger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307Blm 14: izim APIsini kullanmaizim APIsini kullanma temelleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313Graphics snfn anlama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315izgi ve eriler izme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315Yerleik yntemleri kullanarak ekiller izme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317Degrade izgiler ve dolgular oluturma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318izim yntemleriyle Math snfn kullanma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322izim APIsi ile animasyon uygulama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323rnek: Algoritmik Grsel Efekt Oluturucu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323izim APIsinin ileri dzey kullanm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325Yol izme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326Sarg kurallarn tanmlama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328Grafik verisi snflarn kullanma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330drawTriangles() esini kullanma hakknda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332Blm 15: Geometriyle almaGeometri temelleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333Point nesnelerini kullanma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335Rectangle nesnelerini kullanma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337Matrix nesnelerini kullanma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340rnek: Grntleme nesnesine matris dntrmesi uygulama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341
  • 6. viACTIONSCRIPT 3.0I PROGRAMLAMAindekilerBlm 16: Grntleme nesnelerine filtre uygulamaGrntleme nesnelerine filtre uygulama temelleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345Filtreler oluturma ve uygulama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346Kullanlabilir grnt filtreleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353rnek: Filter Workbench . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368Blm 17: Pixel Bender glgelendiricileriyle almaPixel Bender glgelendiricilerinin temelleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376Glgelendirici ykleme veya gmme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378Glgelendirici meta verilerine erime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379Glgelendirici girdisi ve parametre deerlerini belirtme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380Glgelendirici kullanma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385Blm 18: Film klipleriyle almaFilm kliplerinin temelleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397MovieClip nesneleriyle alma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399Film klibi oynatmn denetleme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399ActionScript ile MovieClip nesneleri oluturma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402Harici bir SWF dosyasn ykleme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404rnek: RuntimeAssetsExplorer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405Blm 19: Ara hareketlerle almaAra Hareket Temelleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409Ara hareket komut dosyalarn kopyalama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 410Ara hareket komut dosyalarn birletirme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411Animasyonu aklama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411Filtreler ekleme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414Ara hareketi grntleme nesneleriyle ilikilendirme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415Blm 20: Ters kinematikle almaTers Kinematik temelleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417IK Armatrlerine Animasyon Uygulamaya Genel Bak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 418IK armatr hakknda bilgi alma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420IK Taycsn Balatma ve IK Taycsnn Hareketini Snrlama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420Bir IK Armatrn hareket ettirme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421IK Olaylarn Kullanma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421Blm 21: Metinle almaMetinle almann temelleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423TextField snfn kullanma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425Flash Text Enginei kullanma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447Blm 22: Bitmaplerle almaBitmaplerle almann temelleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474Bitmap ve BitmapData snflar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 476Piksellerde deiiklik yapma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 478Bitmap verilerini kopyalama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480Grlt ilevleri ile doku oluturma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481
  • 7. viiACTIONSCRIPT 3.0I PROGRAMLAMAindekilerBitmapleri kaydrma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 483Mipmap oluturma avantajndan yararlanma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484rnek: Animasyonlu dnen ay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484Blm 23: boyutlu (3B) alma3B temelleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 495Flash Player ve AIR alma zamannn 3B zelliklerini anlama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4963B nesneler oluturma ve tama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4973B nesneleri 2B grnmde yanstma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 499Karmak 3B dntrmeler gerekletirme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5033B efektler iin genleri kullanma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 507Blm 24: Videoyla almaVideo temelleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 515Video formatlarn anlama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 517Video snfn anlama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519Video dosyalarn ykleme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 520Video oynatmn denetleme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 520Tam ekran kullanma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 522Donanm ivmesi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 526Video dosyalarn aka alma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 527aret noktalarn anlama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 528Meta veri ve iaret noktalar iin geri ar yntemleri yazma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 529aret noktalarn ve meta verileri kullanma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534Kamera girdisini yakalama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 543Sunucuya video gnderme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 549FLV dosyalar iin gelimi balklar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 550rnek: Video Jukebox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 551Blm 25: Sesle almaSesle almann temelleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 556Ses mimarisini anlama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 558Harici ses dosyalarn ykleme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 559Gml seslerle alma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 561Ak ses dosyalaryla alma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 562Dinamik olarak oluturulmu sesle alma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563Sesleri alma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 565Sesler yklenirken ve alnrken dikkate alnmas gereken gvenlikle ilgili noktalar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 569Ses dzeyini denetleme ve yatay kaydrma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 569Ses meta verisiyle alma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 571Ham ses verilerine erime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 572Ses girdisini yakalama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 576rnek: Podcast Player . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 579Blm 26: Kullanc girdisini yakalamaKullanc girdisinin temelleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 586Klavye girdisini yakalama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 587
  • 8. viiiACTIONSCRIPT 3.0I PROGRAMLAMAindekilerFare girii yakalama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 589rnek: WordSearch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 593Blm 27: A iletiimi ve iletiimA iletiimi ve iletiimin temelleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 597Harici verilerle alma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 600Dier Flash Player ve AIR rneklerine balanma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 605Soket balantlar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 610Yerel verileri saklama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 614Veri dosyalaryla alma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 616rnek: Bir Telnet istemcisi oluturma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 630rnek: Dosya ykleme ve indirme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 633Blm 28: stemci sistemi ortamstemci sistemi ortamnn temelleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 639System snfn kullanma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 641Capabilities snfn kullanma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 642ApplicationDomain snfn kullanma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 642IME snfn kullanma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 645rnek: Sistem yeteneklerini alglama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 650Blm 29: Kopyalayp yaptrmaKopyalayp yaptrma temelleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 654Sistem panosundan okuma ve sistem panosuna yazma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 654Pano veri formatlar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 655Blm 30: YazdrmaYazdrma temelleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 659Sayfa yazdrma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 660Flash Player ve AIR grevleri ve sistem yazdrmas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 661Boyutu, lei ve ynlendirmeyi ayarlama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 664rnek: oklu sayfa yazdrma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 665rnek: lekleme, krpma ve yantlama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 667Blm 31: Harici APIyi kullanmaHarici APIyi kullanma temelleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 670Harici API gereksinimleri ve avantajlar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 672ExternalInterface snfn kullanma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 673rnek: Harici APIyi bir web sayfas konteyneriyle kullanma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 677rnek: Harici APIyi bir ActiveX konteyneriyle kullanma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 682Blm 32: Flash Player gvenliiFlash Player gvenliine genel bak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 688Gvenlik sanal alanlar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 689zin denetimleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 692A iletiim APIlerini kstlama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 699Tam ekran modu gvenlii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 701erik ykleme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 702
  • 9. ixACTIONSCRIPT 3.0I PROGRAMLAMAindekilerapraz komut dosyas oluturma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 704Veri olarak yklenen ortama erime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 707Veri ykleme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 709Gvenlik etki alanna ie aktarlan SWF dosyalarndan gml ierik ykleme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 712Eski ierikle alma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 712LocalConnection izinlerini ayarlama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 713Giden URL eriimini denetleme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 713Paylalan nesneler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 715Kamera, mikrofon, pano, fare ve klavye eriimi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 716Dizin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 717
  • 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