SlideShare ist ein Scribd-Unternehmen logo
1 von 741
Downloaden Sie, um offline zu lesen
ADOBE®
ACTIONSCRIPT®
3.0'ı
Programlama
Telif Hakkı
© 2008 Adobe Systems Incorporated. Tüm hakları saklıdır.
Adobe® Flash® için Adobe® ActionScript® 3.0 Programlama
Bu kılavuz son kullanıcı sözleşmesini içeren bir yazılımla birlikte verilmişse bu kılavuz ve onda anlatılan yazılım lisanslıdır ve yalnızca bu lisansa uygun şekilde
kullanılabilir veya kopyalanabilir. Bu türde bir lisans tarafından izin verildiği durumlar dışında, bu kılavuzun hiçbir bölümü Adobe Systems Incorporated
şirketinden önceden yazılı izin alınmadan çoğaltılamaz, geri alma sistemlerinde depolanamaz veya elektronik, mekanik, kayıt yoluyla veya diğer herhangi bir
şekilde veya herhangi bir yöntemle aktarılamaz. Lütfen bu kılavuzun içeriğinin, kılavuz son kullanıcı lisans sözleşmesine sahip bir yazılımla birlikte verilmemiş
olsa dahi, telif hakkı yasalarıyla korunduğunu unutmayın.
Bu kılavuzun içeriği yalnızca bilgi amaçlıdır, önceden haber verilmeden değiştirilebilir ve Adobe Systems Incorporated şirketinin bir taahhüdü olarak
yorumlanmamalıdır. Adobe Systems Incorporated bu kılavuzdaki bilgilerin hatalı veya yanlış olması durumunda hiçbir sorumluluk veya yükümlülük kabul
etmez.
Projenize dahil etmek isteyebileceğiniz mevcut resimlerin ve görüntülerin telif hakkı yasalarıyla korunuyor olabileceğini unutmayın. Bu türde malzemenin yeni
çalışmanıza yetkisiz olarak katılması, telif hakkı sahibinin haklarını ihlal etmek anlamına gelebilir. Lütfen telif hakkı sahibinden gerekli tüm izinleri aldığınızdan
emin olun.
Örnek şablonlarda şirket adlarına yapılan tüm referanslar yalnızca tanıtım amaçlıdır ve hiçbir gerçek kuruluşla ilgili değildir.
Adobe, the Adobe logo, Adobe AIR, ActionScript, Flash, Flash Lite, Flex, Flex Builder, MXML, and Pixel Bender are either registered trademarks or trademarks
of 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 a
trademark of Apple Inc., registered in the United States and other countries. Java is a trademark or registered trademark of Sun Microsystems, Inc. in the United
States 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, USA
Notice 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 of
“Commercial 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 and
Commercial Computer Software Documentation are being licensed to U.S. Government end users (a) only as Commercial items and (b) with only those rights
as 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 applicable
equal opportunity laws including, if appropriate, the provisions of Executive Order 11246, as amended, Section 402 of the Vietnam Era Veterans Readjustment
Assistance 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.
iii
İçindekiler
Bölüm 1: Bu kılavuz hakkında
Bu kılavuzu kullanma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
ActionScript belgelerine erişim . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
ActionScript öğrenme kaynakları . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Bölüm 2: ActionScript 3.0'a giriş
ActionScript hakkında . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
ActionScript 3.0'ın avantajları . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
ActionScript 3.0'daki yenilikler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Önceki sürümlerle uyumluluk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Bölüm 3: ActionScript ile çalışmaya başlama
Programlama temelleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Nesnelerle çalışma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Ortak program öğeleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Örnek: Animasyon portföy parçası . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
ActionScript ile uygulamalar oluşturma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Kendi sınıflarınızı oluşturma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Örnek: Temel bir uygulama oluşturma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Sonraki örnekleri çalıştırma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Bölüm 4: ActionScript dili ve sözdizimi
Dile genel bakış . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Nesneler ve sınıflar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Paketler ve ad alanları . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Değişkenler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Veri türleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Sözdizimi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Operatörler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Koşullar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Döngü . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
İşlevler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
Bölüm 5: ActionScript'te nesne tabanlı programlama
Nesne tabanlı programlama temelleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Sınıflar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Arabirimler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Miras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
Gelişmiş başlıklar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
Örnek: GeometricShapes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
Bölüm 6: Tarih ve saatlerle çalışma
Tarih ve saat temelleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
Takvim tarih ve saatlerini yönetme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
ivFLASH IÇIN ACTIONSCRIPT 3.0 PROGRAMLAMA
İçindekiler
Zaman aralıklarını denetleme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
Örnek: Basit analog saat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
Bölüm 7: Dizelerle çalışma
Dizelerin temelleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
Dizeler oluşturma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
length özelliği . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
Dizelerdeki karakterlerle çalışma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
Dizeleri karşılaştırma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
Diğer nesnelerin dize halinde temsilini alma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
Dizeleri bitiştirme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
Dizelerdeki alt dizeleri ve desenleri bulma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
Dizeleri büyük harfe veya küçük harfe dönüştürme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
Örnek: ASCII art . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
Bölüm 8: Dizilerle çalışma
Dizilerin temelleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
Dizinlenmiş diziler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
İlişkilendirilebilir diziler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
Çok boyutlu diziler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
Dizileri klonlama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
Gelişmiş başlıklar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
Örnek: PlayList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
Bölüm 9: Hataları işleme
Hata işlemenin temelleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
Hata türleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
ActionScript 3.0'da hata işleme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
Flash Player ve AIR uygulamalarının hata ayıklayıcı sürümleriyle çalışma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
Bir uygulamada eşzamanlı hataları işleme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
Özel hata sınıfları oluşturma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
Hata olaylarını ve durumunu yanıtlama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
Error sınıflarını karşılaştırma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
Örnek: CustomErrors uygulaması . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
Bölüm 10: Normal ifadeler kullanma
Normal ifadelerin temelleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
Normal ifade sözdizimi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
Dizelerle normal ifadeleri kullanma yöntemleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
Örnek: Wiki ayrıştırıcı . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
Bölüm 11: XML ile çalışma
XML temelleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
XML işlemeye yönelik E4X yaklaşımı . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
XML nesneleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
XMLList nesneleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
XML değişkenlerini başlatma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
XML nesnelerini birleştirme ve dönüştürme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
vFLASH IÇIN ACTIONSCRIPT 3.0 PROGRAMLAMA
İçindekiler
XML yapılarında geçiş yapma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
XML ad alanlarını kullanma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
XML tür dönüştürmesi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
Harici XML belgelerini okuma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
Örnek: Internet'ten RSS yükleme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
Bölüm 12: Olayları işleme
Olay işleme temelleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
ActionScript 3.0 olay işleme, önceki sürümlerden nasıl farklılık gösterir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
Olay akışı . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
Olay nesneleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
Olay dinleyicileri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
Örnek: Alarm Clock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
Bölüm 13: Görüntü programlama
Görüntü programlama temelleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
Çekirdek görüntüleme sınıfları . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
Görüntüleme listesi yaklaşımının avantajları . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
Görüntüleme nesneleriyle çalışma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
Görüntüleme nesnelerini işleme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
Nesnelere animasyon uygulama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
Görüntüleme içeriğini dinamik olarak yükleme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
Örnek: SpriteArranger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308
Bölüm 14: Çizim API'sini kullanma
Çizim API'sini kullanma temelleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314
Graphics sınıfını anlama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
Çizgi ve eğriler çizme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
Yerleşik yöntemleri kullanarak şekiller çizme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
Degrade çizgiler ve dolgular oluşturma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
Çizim yöntemleriyle Math sınıfını kullanma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
Çizim API'si ile animasyon uygulama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324
Örnek: Algoritmik Görsel Efekt Oluşturucu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324
Çizim API'sinin ileri düzey kullanımı . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
Yol Çizme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
Sargı kurallarını tanımlama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
Grafik verisi sınıflarını kullanma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
drawTriangles() öğesini kullanma hakkında . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
Bölüm 15: Geometriyle çalışma
Geometri temelleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
Point nesnelerini kullanma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336
Rectangle nesnelerini kullanma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338
Matrix nesnelerini kullanma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341
Örnek: Görüntüleme nesnesine matris dönüştürmesi uygulama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
viFLASH IÇIN ACTIONSCRIPT 3.0 PROGRAMLAMA
İçindekiler
Bölüm 16: Görüntüleme nesnelerine filtre uygulama
Görüntüleme nesnelerine filtre uygulama temelleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346
Filtreler oluşturma ve uygulama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
Kullanılabilir görüntü filtreleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
Örnek: Filter Workbench . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369
Bölüm 17: Pixel Bender gölgelendiricileriyle çalışma
Pixel Bender gölgelendiricilerinin temelleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377
Gölgelendirici yükleme veya gömme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379
Gölgelendirici meta verilerine erişme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380
Gölgelendirici girdisi ve parametre değerlerini belirtme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382
Gölgelendirici kullanma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387
Bölüm 18: Film klipleriyle çalışma
Film kliplerinin temelleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399
MovieClip nesneleriyle çalışma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401
Film klibi oynatımını denetleme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401
ActionScript ile MovieClip nesneleri oluşturma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404
Harici bir SWF dosyasını yükleme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406
Örnek: RuntimeAssetsExplorer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407
Bölüm 19: Ara hareketlerle çalışma
Ara Hareket Temelleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411
Ara hareket komut dosyalarını kopyalama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412
Ara hareket komut dosyalarını birleştirme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413
Animasyonu açıklama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413
Filtreler ekleme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416
Ara hareketi görüntüleme nesneleriyle ilişkilendirme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417
Bölüm 20: Ters kinematikle çalışma
Ters Kinematik temelleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419
IK Armatürlerine Animasyon Uygulamaya Genel Bakış . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420
IK armatürü hakkında bilgi alma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422
IK Taşıyıcısını Başlatma ve IK Taşıyıcısının Hareketini Sınırlama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422
Bir IK Armatürünü hareket ettirme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423
IK Olaylarını Kullanma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423
Bölüm 21: Metinle çalışma
Metinle çalışmanın temelleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425
TextField sınıfını kullanma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427
Flash Text Engine'i kullanma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449
Bölüm 22: Bitmaplerle çalışma
Bitmaplerle çalışmanın temelleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 476
Bitmap ve BitmapData sınıfları . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 478
Piksellerde değişiklik yapma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480
Bitmap verilerini kopyalama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 482
Gürültü işlevleri ile doku oluşturma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 483
viiFLASH IÇIN ACTIONSCRIPT 3.0 PROGRAMLAMA
İçindekiler
Bitmapleri kaydırma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485
Mipmap oluşturma avantajından yararlanma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 486
Örnek: Animasyonlu dönen ay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 486
Bölüm 23: Üç boyutlu (3B) çalışma
3B temelleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 497
Flash Player ve AIR çalışma zamanının 3B özelliklerini anlama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 498
3B nesneler oluşturma ve taşıma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 500
3B nesneleri 2B görünümde yansıtma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 502
Örnek: Perspektif projeksiyonu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 503
Karmaşık 3B dönüştürmeler gerçekleştirme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 506
3B efektler için üçgenleri kullanma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 509
Bölüm 24: Videoyla çalışma
Video temelleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 517
Video formatlarını anlama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519
Video sınıfını anlama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 521
Video dosyalarını yükleme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 522
Video oynatımını denetleme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 522
Tam ekran modunda video oynatma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524
Video dosyalarını akışa alma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 528
İşaret noktalarını anlama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 528
Meta veri ve işaret noktaları için geri çağrı yöntemleri yazma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 529
İşaret noktalarını ve meta verileri kullanma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534
Kamera girdisini yakalama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 543
Sunucuya video gönderme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 549
FLV dosyaları için gelişmiş başlıklar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 550
Örnek: Video Jukebox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 551
Bölüm 25: Sesle çalışma
Sesle çalışmanın temelleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 557
Ses mimarisini anlama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 559
Harici ses dosyalarını yükleme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 560
Gömülü seslerle çalışma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 562
Akış ses dosyalarıyla çalışma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563
Dinamik olarak oluşturulmuş sesle çalışma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 564
Sesleri çalma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 566
Sesler yüklenirken ve çalınırken dikkate alınması gereken güvenlikle ilgili noktalar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 570
Ses düzeyini denetleme ve yatay kaydırma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 570
Ses meta verisiyle çalışma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 572
Ham ses verilerine erişme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 573
Ses girdisini yakalama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 577
Örnek: Podcast Player . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 580
Bölüm 26: Kullanıcı girdisini yakalama
Kullanıcı girdisinin temelleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 588
Klavye girdisini yakalama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 589
viiiFLASH IÇIN ACTIONSCRIPT 3.0 PROGRAMLAMA
İçindekiler
Fare girişi yakalama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 591
Örnek: WordSearch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 595
Bölüm 27: Ağ iletişimi ve iletişim
Ağ iletişimi ve iletişimin temelleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 599
Harici verilerle çalışma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 602
Diğer Flash Player ve AIR örneklerine bağlanma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 607
Soket bağlantıları . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 612
Yerel verileri saklama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 616
Veri dosyalarıyla çalışma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 618
Örnek: Bir Telnet istemcisi oluşturma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 632
Örnek: Dosya yükleme ve indirme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 635
Bölüm 28: İstemci sistemi ortamı
İstemci sistemi ortamının temelleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 641
System sınıfını kullanma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 643
Capabilities sınıfını kullanma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 644
ApplicationDomain sınıfını kullanma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 644
IME sınıfını kullanma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 647
Örnek: Sistem yeteneklerini algılama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 652
Bölüm 29: Kopyalayıp yapıştırma
Kopyalayıp yapıştırma temelleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 656
Sistem panosundan okuma ve sistem panosuna yazma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 656
Pano veri formatları . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 657
Bölüm 30: Yazdırma
Yazdırma temelleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 661
Sayfa yazdırma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 662
Flash Player ve AIR görevleri ve sistem yazdırması . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 663
Boyutu, ölçeği ve yönlendirmeyi ayarlama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 666
Örnek: Çoklu sayfa yazdırma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 667
Örnek: Ölçekleme, kırpma ve yanıtlama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 669
Bölüm 31: Harici API'yi kullanma
Harici API'yi kullanma temelleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 672
Harici API gereksinimleri ve avantajları . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 674
ExternalInterface sınıfını kullanma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 675
Örnek: Harici API'yi bir web sayfası konteyneriyle kullanma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 679
Örnek: Harici API'yi bir ActiveX konteyneriyle kullanma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 684
Bölüm 32: Flash Player güvenliği
Flash Player güvenliğine genel bakış . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 690
Güvenlik sanal alanları . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 691
İzin denetimleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 694
Ağ iletişim API'lerini kısıtlama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 701
Tam ekran modu güvenliği . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 703
İçerik yükleme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 704
ixFLASH IÇIN ACTIONSCRIPT 3.0 PROGRAMLAMA
İçindekiler
Çapraz komut dosyası oluşturma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 706
Veri olarak yüklenen ortama erişme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 709
Veri yükleme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 711
Güvenlik etki alanına içe aktarılan SWF dosyalarından gömülü içerik yükleme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 714
Eski içerikle çalışma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 714
LocalConnection izinlerini ayarlama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 715
Giden URL erişimini denetleme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 715
Paylaşılan nesneler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 717
Kamera, mikrofon, pano, fare ve klavye erişimi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 718
Dizin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 719
1
Bölüm 1: Bu kılavuz hakkında
Bu kılavuz Adobe® ActionScript® 3.0'da uygulama geliştirmek için gerekli olan temel bilgileri sunar. Açıklanan fikir ve
teknikleri en iyi şekilde anlayabilmek için veri türleri, değişkenler, döngüler ve işlevler gibi genel programlama
kavramlarını bilmeniz gerekmektedir. Ayrıca sınıflar ve miras alma gibi nesne tabanlı temel programlama
kavramlarını da anlıyor olmanız gerekir. ActionScript 1.0 veya ActionScript 2.0 bilgisi işinize yarayacak olsa da şart
değildir.
Bu kılavuzu kullanma
Bu kılavuzun bölümleri ActionScript belgelerinin ilgili kısımlarını daha kolay bulmanız için aşağıdaki mantıksal
gruplara ayrılmıştır:
Bu kılavuz ayrıca önemli veya sık kullanılan sınıflar için uygulama programlama kavramlarını gösteren sayısız örnek
dosya içerir. Örnek dosyalar Adobe® Flash® CS4 Professional ile daha kolay yüklenecek ve kullanılabilecek şekilde
paketlenmiştir ve saran dosyalar içerebilir. Ancak, örnek kodun temeli istediğiniz geliştirme ortamında
kullanabileceğiniz ActionScript 3.0 biçimindedir.
ActionScript 3.0 şunlar da dahil olmak üzere birden fazla şekilde yazılabilir ve derlenebilir:
• Adobe Flex Builder 3 geliştirme ortamını kullanma
• Flex Builder 3 ile birlikte verilen gibi herhangi bir metin düzenleyici ve komut satırı derleyici kullanma
• Adobe® Flash® CS4 Professional geliştirme aracını kullanma
ActionScript geliştirme ortamları ile ilgili daha fazla bilgi için “ActionScript 3.0'a giriş” sayfa 4 bölümüne bakın.
Bu kılavuzdaki kod örneklerini anlamak için Flex Builder veya Flash geliştirme aracı gibi ActionScript için dahili
geliştirme ortamları tecrübeniz olması gerekli değildir. Ancak bu araçlarla ActionScript 3.0 kodu yazmayı ve derlemeyi
öğrenmek için ilgili araçların belgelerine başvurmak isteyeceksiniz. Daha fazla bilgi için bkz. “ActionScript belgelerine
erişim” sayfa 2.
Bölümler Açıklama
Bölüm 2-5, ActionScript programlamaya genel bakış Dil sözdizimi, deyimler, operatörler ve nesne tabanlı ActionScript programlama gibi
temel ActionScript 3.0 kavramlarını ele alır.
Bölüm 6-11, temel ActionScript 3.0 veri türleri ve
sınıfları
ActionScript 3.0'daki üst düzey veri türlerini açıklar.
Bölüm 12-32, Flash Player ve Adobe AIR API'leri Olay işleme, görüntüleme nesneleri ve görüntüleme listesiyle çalışma, ağ ve
iletişimler, dosya girdisi ve çıktısı, harici arabirim, uygulama güvenlik modeli ve
bunlar gibi Adobe Flash Player ve Adobe AIR uygulamasına özgü paket ve sınıflarda
uygulanan önemli özellikleri açıklar.
2FLASH IÇIN ACTIONSCRIPT 3.0 PROGRAMLAMA
Bu kılavuz hakkında
ActionScript belgelerine erişim
Bu kılavuz ağırlıklı olarak zengin ve güçlü bir nesne tabanlı programlama dili olan ActionScript 3.0'ı anlattığı için
belirli bir araç veya sunucu mimarisi içerisindeki uygulama geliştirme sürecine veya iş akışına geniş yer vermez. Bu
nedenle, ActionScript 3.0'ı Programlama'nın yanı sıra, ActionScript 3.0 uygulamalarının tasarlama, geliştirme, test
etme ve konuşlandırma sürecinde diğer belgelere de başvurmak isteyeceksiniz.
ActionScript 3.0 belgeleri
Bu kılavuz size ActionScript 3.0 programlama dilinin altındaki kavramları tanıtır ve dilin önemli özelliklerini gösteren
uygulama detayları ve örnekleri sunar. Ancak, bu kılavuz tam bir dil başvurusu değildir. Bu nedenle, dil içindeki her
sınıfı, yöntemi, özelliği ve olayı anlatan ActionScript 3.0 Dil ve Bileşen Başvurusu bölümünü inceleyin. ActionScript
3.0 Dil ve Bileşenler Başvurusu, temel dil, Flash geliştirme aracı bileşenleri (fl paketlerindeki) ve Flash Player ve Adobe
AIR API'leri (flash paketlerindeki) ile ilgili ayrıntılı başvuru bilgisi sunar.
Flash belgeleri
Flash geliştirme aracını kullanıyorsanız, şu kılavuzlara başvurmak isteyebilirsiniz:
Kitap Açıklama
Flash'ı kullanma Flash geliştirme aracında dinamik web uygulamalarınızı nasıl geliştireceğinizi
açıklar
ActionScript 3.0'ı Programlama ActionScript 3.0 dili ve temel Flash Player ve Adobe AIR API'sinin belirli kullanımını
açıklar
ActionScript 3.0 Dil ve Bileşenler Başvurusu Flash geliştirme aracı bileşenleri ve ActionScript 3.0 API'si için sözdizimi, kullanım
ve kod örnekleri sunar
ActionScript 3.0 Bileşenlerini Kullanma Flash tarafından oluşturulan uygulamaları geliştirmek için bileşenlerin
kullanımıyla ilgili ayrıntıları açıklar
Flash CS4 Professional ile Adobe AIR Uygulamaları
Geliştirme
Flash içinde ActionScript 3.0 ve Adobe AIR API'si kullanılarak Adobe AIR
uygulamalarının nasıl geliştirileceğini ve konuşlandırılacağını anlatır
Adobe Flash içinde ActionScript 2.0 Öğrenme ActionScript 2.0 sözdizimine genel bir bakış sunar ve farklı nesne türleri ile
çalışırken ActionScript 2.0'ın nasıl kullanılacağını açıklar
ActionScript 2.0 Dil Başvurusu Flash geliştirme aracı bileşenleri ve ActionScript 2.0 API'si için sözdizimi, kullanım
ve kod örnekleri sunar
ActionScript 2.0 Bileşenlerini Kullanma Flash tarafından oluşturulan uygulamaları geliştirmek için ActionScript 2.0
bileşenlerinin nasıl kullanılacağını ayrıntılı şekilde açıklar
ActionScript 2.0 Bileşenleri Dil Başvurusu Sürüm 2 Adobe Bileşen Mimarisi ve ilgili API içerisinde bulunan bileşenleri anlatır
Flash'ı Genişletme Javascript API'si içerisindeki nesneleri, yöntemleri ve özellikleri anlatır
Flash Lite 2.x ile Çalışmaya Başlama Uygulama geliştirmek için Adobe® Flash® Lite™ 2.x uygulamasının nasıl
kullanılacağını açıklar ve Flash Lite 2.x ile kullanılabilen ActionScript özellikleri için
sözdizimi, kullanım ve kod örnekleri sunar
Flash Lite 2.x Uygulamaları Geliştirme Flash Lite 2.x uygulamalarının nasıl geliştirileceğini açıklar
Flash Lite 2.x ActionScript'e Giriş Flash Lite 2.x ile nasıl uygulama geliştirileceğini gösterir ve Flash Lite 2.x
geliştiricilerinin kullanabildiği tüm ActionScript özelliklerini anlatır
Flash Lite 2.x ActionScript Dil Başvurusu) Flash Lite 2.x içinde bulunan ActionScript 2.0 API'si için sözdizimi, kullanım ve kod
örneği sunar.
3FLASH IÇIN ACTIONSCRIPT 3.0 PROGRAMLAMA
Bu kılavuz hakkında
ActionScript öğrenme kaynakları
Bu kılavuzlara ek olarak Adobe, Adobe Geliştirici Merkezi ve Adobe Tasarım Merkezi'nde düzenli olarak güncellenen
makaleler, tasarım fikirleri ve örnekler sunar.
Adobe Geliştirici Merkezi
Adobe Geliştirici Merkezi'nde ActionScript ile ilgili en son bilgiler, gerçek dünya uygulama geliştirme üzerine
makaleler ve önemli yeni konular ile ilgili bilgiler yer almaktadır. Geliştirici Merkezi'ne www.adobe.com/devnet/
adreslerinden ulaşabilirsiniz.
Adobe Tasarım Merkezi
Dijital tasarım ve hareketli grafik ile ilgili en son bilgileri alın. Önemli sanatçıların adıyla göz atın, yeni tasarım
eğilimlerini keşfedin ve dersler, önemli iş akışları ve gelişmiş tekniklerle becerilerinizi geliştirin. Yeni dersler ve
makaleler ile ilham verici galeri öğeleri için iki haftada bir kontrol edin. Tasarım Merkezi'ne
www.adobe.com/designcenter/ adresinden ulaşabilirsiniz.
Flash Lite 1.x ile Çalışmaya Başlama Flash Lite 1.x uygulamasına giriş sunar ve Adobe® Device Central CS4 emülatörü
kullanarak içeriğinizi nasıl test edeceğinizi açıklar
Flash Lite 1.x Uygulamaları Geliştirme Flash Lite 1.x kullanılarak mobil cihazlar için nasıl uygulama geliştirileceğini
anlatır.
Flash Lite 1.x ActionScript Öğrenmek FlashLite1.xiçerisindenasılActionScriptkullanılacağınıveFlashLite1.xiçerisinde
bulunan ActionScript özelliklerini anlatır
Flash Lite 1.x ActionScript Dil Başvurusu FlashLite1.xiçerisindebulunanActionScriptöğelerininsözdiziminivekullanımını
sunar
Kitap Açıklama
4
Bölüm 2: ActionScript 3.0'a giriş
Bu bölümde, en yeni ve en yenilikçi ActionScript sürümü olan Adobe® ActionScript® 3.0'a genel bakış sağlanmaktadır.
ActionScript hakkında
ActionScript, Adobe® Flash® Player ve Adobe® AIR™ çalışma zamanı ortamları için programlama dilidir. Flash, Flex ve
AIR içerik ve uygulamalarında etkileşim, veri işleme ve daha fazlasına olanak sağlar.
ActionScript, Flash Player ve AIR uygulamasının bir parçası olan ActionScript Virtual Machine (AVM) tarafından
çalıştırılır. ActionScript kodu, Adobe® Flash® CS4 Professional veya Adobe® Flex™ Builder™ uygulamasında yerleşik
olanlar ya da Adobe® Flex™ SDK uygulamasında kullanılabilir olanlar gibi, genellikle bir derleyici tarafından bayt kodu
formatında (bilgisayarlar tarafından yazılan ve anlaşılan bir çeşit programlama dili) derlenir. Bayt kodu, Flash Player
ve AIR uygulamaları tarafından çalıştırılan SWF dosyalarında gömülüdür.
ActionScript 3.0, nesne tabanlı programlama konusunda temel bilgisi olan geliştiricilere bilindik gelecek güçlü bir
programlama modeli sunar. ActionScript 3.0'ın önceki ActionScript sürümlerinden daha gelişmiş olan bazı önemli
özellikleri arasında şunlar yer alır:
• AVM2 adı verilen ve yeni bir bayt kodu talimat kümesi kullanıp önemli ölçüde performans artışı sağlayan yeni bir
ActionScript Virtual Machine.
• Önceki derleyici sürümlerinden daha derin eniyileştirmeler gerçekleştiren daha modern bir derleyici kodu
• Düşük düzeyde nesne denetimi ve gerçek bir nesne odaklı model içeren, genişletilmiş ve geliştirilmiş bir uygulama
programlama arabirimi (API)
• XML için ECMAScript (E4X) belirtimini (ECMA-357 sürüm 2) esas alan XML API'si. E4X, dilin yerel veri türü
olarak ECMAScript'e XML ekleyen bir dil uzantısıdır.
• Belge Nesnesi Modeli (DOM) Düzey 3 Olaylar Belirtimi'ni esas alan bir olay modeli
ActionScript 3.0'ın avantajları
ActionScript 3.0, önceki ActionScript sürümlerinin komut dosyası oluşturma yeteneklerinden çok daha fazlasını
sunar. Büyük veri kümeleri ve nesne tabanlı, yeniden kullanılabilir kod tabanları ile oldukça karmaşık uygulamaların
oluşturulmasını kolaylaştırmak üzere tasarlanmıştır. ActionScript 3.0, Adobe Flash Player uygulamasında çalışan
içerik için gerekmese de, yalnızca yeni sanal makine olan AVM2 ile kullanılabilen performans artışına bir kapı açar.
ActionScript 3.0 kodu, eski ActionScript kodundan on kata kadar daha hızlı çalışabilir.
Eski ActionScript Virtual Machine sürümü olan AVM1, ActionScript 1.0 ve ActionScript 2.0 kodunu çalıştırır.
Varolan ve eski içerikle geriye doğru uyumluluk sağlamak için Flash Player 9 ve 10 tarafından AVM1 desteklenir. Daha
fazla bilgi için, bkz. “Önceki sürümlerle uyumluluk” sayfa 7.
5FLASH IÇIN ACTIONSCRIPT 3.0 PROGRAMLAMA
ActionScript 3.0'a giriş
ActionScript 3.0'daki yenilikler
ActionScript 3.0, ActionScript programcılara tanıdık gelen birçok sınıf ve özellik içerse de, ActionScript 3.0 mimari ve
kavramsal açıdan önceki ActionScript sürümlerinden farklıdır. ActionScript 3.0'daki geliştirmeler arasında, çekirdek
dilin yeni özellikleri ve düşük düzeyli nesneler üzerinde daha yüksek denetim sağlayan gelişmiş Flash Player API'si yer
alır.
Not: Adobe® AIR™ uygulamaları, Flash Player API'lerini de kullanabilir.
Çekirdek dil özellikleri
Çekirdek dil, programlama dilinin deyimler, ifadeler, koşullar, döngüler ve türler gibi temel bina bloklarını tanımlar.
ActionScript 3.0, geliştirme işlemini hızlandıran birçok yeni özellik içerir.
Çalışma zamanı istisnaları
ActionScript 3.0, önceki ActionScript sürümlerinden daha çok hata koşulu bildirir. Yaygın hata koşulları için çalışma
zamanı istisnaları kullanılarak hata ayıklama deneyimini geliştirir ve hataları daha güçlü şekilde işleyen uygulamalar
geliştirmenizi sağlar. Çalışma zamanı hataları, kaynak dosya ve satır numarası bilgilerini ek açıklama olarak veren
yığın izleri sağlayarak hızlı şekilde hataların yerini belirlemenize yardımcı olur.
Çalışma zamanı türleri
ActionScript 2.0'da tür ek açıklamaları birincil olarak geliştiriciye yardım sağlama amaçlıydı; çalışma zamanında tüm
değerler dinamik olarak türlenmiştir. ActionScript 3.0'da, tür açıklamaları çalışma zamanında korunur ve birçok amaç
için kullanılır. Flash Player ve Adobe AIR, çalışma zamanı, çalışma zamanı tür denetlemesi uygulayarak sistemin tür
güvenliğini artırır. Tür bilgileri aynı zamanda yerel makine temsillerinde değişkenleri temsil etmek için de kullanılarak
performansı artırır ve bellek kullanımını azaltır.
Mühürlenmiş sınıflar
ActionScript 3.0, mühürlenmiş sınıf kavramını getirmiştir. Mühürlenmiş bir sınıf, derleme zamanında tanımlanmış
yalnızca sabit özellikler ve yöntemler kümesine sahiptir; bu sınıfa ek özellikler ve yöntemler eklenemez. Bu da daha
katı derleme zamanı denetlemesi sağlayarak daha güçlü programlar oluşmasına neden olur. Buna ek olarak, nesne
örneklerinin her biri için dahili bir karma tablo gerektirmeyerek bellek kullanımını da azaltır. dynamic anahtar
sözcüğünün kullanılmasıyla dinamik sınıflar da mümkündür. ActionScript 3.0'daki tüm sınıflar varsayılan olarak
mühürlenmiştir ancak dynamic anahtar sözcüğüyle bu sınıfların dinamik olduğu bildirilebilir.
Yöntem kapanışı
ActionScript 3.0, yöntem kapanışının otomatik olarak orijinal nesne örneğini hatırlamasına olanak sağlar. Bu özellik,
olay işlemesi için kullanışlıdır. ActionScript 2.0'da, yöntem kapanışları hangi nesne örneğinden ayıklandıklarını
hatırlamaz ve bu da yöntem kapanışı çağrıldığında beklenmeyen davranış oluşmasına neden olur. mx.utils.Delegate
sınıfı sık kullanılan bir geçici çözümdür ancak artık buna ihtiyaç kalmamıştır.
XML için ECMAScript (E4X)
ActionScript 3.0, en son ECMA-357 olarak standartlaştırılmış olan XML için ECMAScript (E4X) uygular. E4X,
XML'in işlenmesi için doğal ve akıcı bir dil yapıları kümesi sunar. Geleneksel XML ayrıştırma API'lerinin tersine, E4X
ile XML, dilin yerel bir veri türüymüş gibi hareket eder. E4X, ihtiyaç duyulan kod miktarını büyük ölçüde azaltarak
XML'i işleyen uygulamaların geliştirilmesini kolaylaştırır. E4X'in ActionScript 3.0 uygulaması hakkında daha fazla
bilgi almak için, bkz. “XML ile çalışma” sayfa 222.
ECMA’nın E4X belirtimini görüntülemek için www.ecma-international.org adresine gidin.
6FLASH IÇIN ACTIONSCRIPT 3.0 PROGRAMLAMA
ActionScript 3.0'a giriş
Normal ifadeler
ActionScript 3.0, hızlı şekilde dizeleri arayabilmeniz ve işleyebilmeniz amacıyla normal ifadeler için yerel destek içerir.
ECMAScript (ECMA-262) sürüm 3 dil belirtiminde belirtildiği şekilde ActionScript 3.0, normal ifadeler için destek
uygular.
Ad alanları
Ad alanları, bildirimlerin görünürlüğünü (public, private, protected) kontrol etmek için kullanılan geleneksel
erişim belirticilerine benzer. Bunlar, seçtiğiniz adlara sahip olabilen özel erişim belirticileri olarak çalışır. Çakışmaları
önlemek için, ad alanlarında bir Universal Resource Identifier (URI) bulunur ve E4X ile çalıştığınızda XML ad
alanlarını temsil etmek için de ad alanları kullanılır.
Yeni ilkel türler
ActionScript 2.0, Number adında, çift kesinlikli ve kayan nokta sayısı olan tek bir sayısal türe sahiptir. ActionScript
3.0, int ve uint türlerini içerir. int türü, ActionScript'in CPU için hızlı tam sayı matematik yeteneklerinden
faydalanmasına olanak sağlayan 32-bit işaretli bir tam sayıdır. int türü, döngü sayaçları ve tam sayıların kullanıldığı
değişkenler için kullanışlıdır. uint türü, RGB renk değerleri, bayt sayıları ve daha fazlası için kullanışlı olan işaretsiz,
32-bit tam sayı türüdür.
Flash Player API'sinin özellikleri
ActionScript 3.0'daki Flash Player API'leri, düşük bir düzeydeki nesneleri kontrol etmenize olanak sağlayan birçok
sınıf içerir. Dil mimarisi, önceki sürümlere göre daha sezgisel olacak şekilde tasarlanmıştır. Burada ayrıntılı şekilde ele
alınacak çok fazla sayıda yeni sınıf olsa da, ilerleyen bölümlerde bazı önemli değişikliklere yer verilmiştir.
Not: Adobe® AIR™ uygulamaları, Flash Player API'lerini de kullanabilir.
DOM3 olay modeli
Belge Nesnesi Modeli Düzey 3 olay modeli (DOM3), uygulama içindeki nesnelerin etkileşim ve iletişim kurarak
durumlarını koruyabilmesi ve değişikliğe yanıt vermesi için olay mesajları oluşturma ve işlemeye yönelik standart bir
yöntem sağlar. World Wide Web Consortium DOM Düzey 3 Olaylar Belirtimi'nden sonra düzenlenen bu model,
önceki ActionScript sürümlerinde kullanılabilir olan olay sistemlerinden daha net ve daha etkili bir mekanizma sağlar.
Olaylar ve hata olayları, flash.events paketinde bulunur. Flash bileşenleri çerçevesi, Flash Player API'siyle aynı olay
modelini kullanır, bu nedenle olay sistemi tüm Flash platformunda birleştirilmiştir.
Görüntüleme listesi API'si
Flash Player ve Adobe AIR görüntüleme listesine (uygulamadaki görsel öğeleri içeren ağaç) erişme API'si, görsel ilkel
öğelerle çalışmaya yönelik sınıfları içerir.
Yeni Sprite sınıfı, hafif bir bina bloğu olup MovieClip sınıfına benzer ancak UI bileşenleri için temel sınıf olarak daha
uygundur. Yeni Shape sınıfı ham vektör şekillerini temsil eder. Bu sınıflar new operatörüyle doğal olarak başlatılabilir
ve herhangi bir zamanda dinamik olarak yeniden üst öğeye sahip olabilir.
Derinlik yönetimi şimdi otomatiktir ve Flash Player ve Adobe AIR uygulamalarında yerleşik olarak bulunur, böylece
derinlik sayılarının atamasının oluşturulması gereksizdir. Nesnelerin z sırasının belirtilmesi ve yönetilmesi için yeni
yöntemler sağlanır.
7FLASH IÇIN ACTIONSCRIPT 3.0 PROGRAMLAMA
ActionScript 3.0'a giriş
Dinamik verileri ve içerikleri işleme
ActionScript 3.0, uygulamanızda varlıkların ve verilerin yüklenmesi için tüm API'de sezgisel ve tutarlı olan
mekanizmalar içerir. Yeni Loader sınıfı, SWF dosyalarının ve görüntü varlıklarının yüklenmesi için tek bir mekanizma
ve yüklenen içerikle ilgili ayrıntılı bilgilere erişme yolu sağlar. URLLoader sınıfı, veri tabanlı uygulamalarda metin ve
ikili verilerin yüklenmesi için ayrı bir mekanizma sağlar. Socket sınıfı, sunucu soketlerine herhangi bir formatta ikili
verileri okuyup yazmak için bir araç sağlar.
Düşük düzeyli veri erişimi
Çeşitli API'ler, önceden ActionScript'te asla kullanılabilir olmayan verilere düşük düzeyli erişim sağlar. URLLoader
tarafından uygulanan URLStream sınıfı, indirilen veriler için, indirme sırasında verilere ham ikili veriler olarak
erişilmesini sağlar. ByteArray sınıfı, ikili verilerle okumayı, yazmayı ve çalışmayı eniyileştirmenize olanak sağlar. Yeni
Sound API'si, SoundChannel ve SoundMixer sınıfları üzerinden ayrıntılı ses denetimi sağlar. Güvenlikle ilgilenen yeni
API'ler, SWF dosyasının veya yüklenen içeriğin güvenlik ayrıcalıkları hakkında bilgi sağlayarak güvenlik hatalarını
daha iyi işlemenize olanak tanır.
Metinle çalışma
ActionScript 3.0, tüm metinle ilgili API'ler için bir flash.text paketi içerir. TextLineMetrics sınıfı, bir metin alanındaki
metin satırı için ayrıntılı ölçütler sağlar; ActionScript 2.0'daki TextFormat.getTextExtent() öğesinin yerini alır.
TextField sınıfı, bir metin satırı veya bir metin satırındaki tek bir karakter hakkında belirli bilgiler sağlayabilen ilginç
özellikte birçok yeni düşük düzeyli yöntemler içerir. Bu yöntemler arasında, bir karakterin sınırlama kutusunu temsil
eden dikdörtgeni döndüren getCharBoundaries(), belirtilen bir noktadaki karakterin dizinini döndüren
getCharIndexAtPoint() ve bir paragraftaki birinci karakterin dizinini döndüren getFirstCharInParagraph()
yer alır. Satır düzeyindeki yöntemler arasında, belirtilen bir metin satırındaki karakterlerin sayısını döndüren
getLineLength() ve belirtilen satırın metnini döndüren getLineText() yer alır. Yeni bir Font sınıfı, SWF
dosyalarındaki gömülü fontların yönetilmesi için araçlar sağlar.
Önceki sürümlerle uyumluluk
Flash Player her zamanki gibi, önceden yayınlanmış içerikle geriye doğru tam uyumluluk sağlar. Önceki Flash Player
sürümlerinde çalışan tüm içerikler Flash Player 9 ve sonrasında da çalışır. Ancak Flash Player 9'da ActionScript 3.0'ın
bulunması, eski içerik ile Flash Player 9'da çalışan yeni içerik arasında birlikte çalışılabilirlik konusunda zorluklara yol
açabilir. Uyumluluk sorunları arasında şunlar yer alır:
• Tek bir SWF dosyası, ActionScript 1.0 veya 2.0 kodunu ActionScript 3.0 koduyla birleştiremez.
• ActionScript 3.0 kodu, ActionScript 1.0 veya 2.0'da yazılmış bir SWF dosyasını yükleyebilir ancak SWF dosyasının
değişkenlerine ve işlevlerine erişemez.
• ActionScript 1.0 veya 2.0'da yazılmış SWF dosyaları, ActionScript 3.0'da yazılmış SWF dosyalarını yükleyemez. Bu
da, Flash 8 veya Flex Builder 1.5 ya da önceki sürümlerde yazılmış SWF dosyalarının ActionScript 3.0 SWF
dosyalarını yükleyemediği anlamına gelir.
Bu kuralın tek istisnası, ActionScript 2.0 SWF dosyası, düzeylerinden birine önceden herhangi bir şey yüklemediği
sürece, ActionScript 2.0 SWF dosyasının bir ActionScript 3.0 SWF dosyasıyla kendisini değiştirebilmesidir.
ActionScript 2.0 SWF dosyası, loadMovieNum() öğesine bir çağrı yapıp level parametresine 0 değerini ileterek
bunu yapabilir.
8FLASH IÇIN ACTIONSCRIPT 3.0 PROGRAMLAMA
ActionScript 3.0'a giriş
• Genelde, ActionScript 3.0'da yazılmış SWF dosyalarıyla birlikte çalışacaksa, ActionScript 1.0 veya 2.0'da yazılmış
SWF dosyalarının alınması gerekir. Örneğin, ActionScript 2.0'ı kullanarak bir ortam oynatıcısı oluşturduğunuzu
varsayın. Ortam oynatıcısı, ayrıca ActionScript 2.0'da oluşturulmuş çeşitli içerikleri de yükler. ActionScript 3.0'da
yeni içerik oluşturup bu içeriği ortam oynatıcısına yükleyemezsiniz. Video oynatıcısını ActionScript 3.0'a almanız
gerekir.
Ancak ActionScript 3.0'da bir ortam oynatıcısı oluşturursanız, bu ortam oynatıcısı ActionScript 2.0 içeriğinizin
basit yüklemelerini gerçekleştirebilir.
Aşağıdaki tablolarda, önceki Flash Player sürümlerinin yeni içerik yüklenmesi ve kod çalıştırılmasıyla ilgili
sınırlamaları ve farklı ActionScript sürümlerinde yazılmış SWF dosyaları arasında çapraz komut dosyası oluşturma
sınırlamaları özetlenmektedir.
Aşağıdaki tabloda yer alan “Desteklenen işlevler”, Flash Player 9 veya sonrasında çalıştırılan içerikleri ifade eder. Flash
Player 8 veya öncesinde çalışan içerikler yalnızca ActionScript 1.0 ve 2.0'da yüklenebilir, görüntülenebilir,
çalıştırılabilir ve bu içeriklerin çapraz komut dosyası oluşturulabilir.
Desteklenen işlevler Flash Player 7 Flash Player 8 Flash Player 9 ve 10
Şunlar için yayınlanmış SWF dosyalarını
yükleyebilir
7 ve öncesi 8 ve öncesi 9 (veya 10) ve öncesi
Bu AVM'yi içerir AVM1 AVM1 AVM1 ve AVM2
Şu ActionScript sürümlerinde yazılmış
SWF'leri çalıştırır
1.0 ve 2.0 1.0 ve 2.0 1.0 ve 2.0 ve 3.0
Desteklenen işlevler ActionScript 1.0 ve 2.0'da oluşturulan
içerik
ActionScript 3.0'da oluşturulan içerik
Şu sürümlerde oluşturulan içerik yüklenebilir
ve içerikteki kod çalıştırılabilir
yalnızca ActionScript 1.0 ve 2.0 ActionScript 1.0, 2.0 ve ActionScript 3.0
Şu sürümlerde oluşturulan içeriğin çapraz
komut dosyası oluşturulabilir
yalnızcaActionScript1.0ve2.0(YerelBağlantı
üzerinden ActionScript 3.0)
Yerel Bağlantı üzerinden ActionScript 1.0 ve
2.0
ActionScript 3.0
9
Bölüm 3: ActionScript ile çalışmaya
başlama
Bu bölüm, ActionScript programlamaya başlamanız için tasarlanmış olup bu kılavuzun geri kalanında karşılaşacağınız
kavramları ve örnekleri anlamak için ihtiyaç duyacağınız arka planı size sağlar. ActionScript'te uygulanma şekli
kapsamında açıklanan temel programlama kavramlarıyla başlayacağız. Ayrıca ActionScript uygulamasının organize
edilmesi ve oluşturulması temellerini de ele alacağız.
Programlama temelleri
ActionScript bir programlama dili olduğundan, ilk önce birkaç genel bilgisayar programlama kavramını anlarsanız,
ActionScript'i öğrenmeniz kolaylaşacaktır.
Bilgisayar programları ne yapar
Öncelikle, bilgisayar programının ne olduğuna ve ne yaptığına dair kavramsal bir fikir edinilmesi yardımcı olacaktır.
Bilgisayar programının iki yönü vardır:
• Program, bilgisayarın gerçekleştirmesi için tasarlanmış talimatlar veya adımlar serisidir.
• Her adım bazı bilgi veya verilerin işlenmesini içerir.
Genel anlamda bilgisayar programı, bilgisayara verdiğiniz ve bilgisayar tarafından birer birer gerçekleştirilen adım
adım talimatlar listesidir. Talimatların her birine deyim denir. Bu kılavuzda da göreceğiniz gibi, ActionScript'te her
deyim, sonunda bir noktalı virgül olacak şekilde yazılır.
Temelde, bir programdaki talimatın yaptığı tüm şey, bilgisayarın belleğinde saklanan bazı veri bitlerini işlemekten
ibarettir. Basit bir örnek vermek gerekirse, bilgisayara iki sayı eklemesini ve sonucu belleğinde saklamasını talimat
olarak verebilirsiniz. Daha karmaşık bir örnek vermek gerekirse, ekranda çizili bir dikdörtgen olduğunu ve bu
dikdörtgeni başka bir yere taşımak için bir program yazmak istediğinizi varsayalım. Bilgisayar, dikdörtgenle ilgili
belirli bilgileri izler, örn. dikdörtgenin konumlandırıldığı x, y koordinatları, genişliği, uzunluğu, rengi, vb. Bu bilgi
bitlerinin her biri bilgisayarın belleğinde bir yerde saklanır. Dikdörtgeni farklı bir konuma taşıma programı, "x
koordinatını 200 olarak değiştir; y koordinatını 15 olarak değiştir" (başka bir deyişle, x ve y koordinatları için
kullanılacak yeni değerleri belirten) gibi adımlar içerecektir. Elbette bilgisayar bu sayıları gerçekten bilgisayar
ekranında görüntülenen görüntüye dönüştürmek için bu verilerle bir şeyler yapar; ancak şu an için bizi ilgilendiren
ayrıntı düzeyine göre, "ekrandaki dikdörtgeni taşıma" işleminin gerçekten bilgisayar belleğindeki veri bitlerinin
değiştirilmesiyle gerçekleştiğinin bilinmesi yeterlidir.
Değişkenler ve sabitler
Programlama temel olarak bilgisayar belleğindeki bilgilerin değiştirilmesini içerdiğinden, programda tek bir bilgiyi
temsil etmenin bir yolunun olması gerekir. Değişken, bilgisayar belleğindeki bir değeri temsil eden addır. Değerleri
işlemek için deyimler yazdığınızda, değerin yerine değişkenin adını yazarsınız; bilgisayar değişken adını
programınızda her gördüğünde, belleğine bakar ve orada bulduğu değeri kullanır. Örneğin, her biri bir sayı içeren,
value1 ve value2 adında iki değişkeniniz varsa, bu iki sayıyı eklemek için şu deyimi yazabilirsiniz:
value1 + value2
10FLASH IÇIN ACTIONSCRIPT 3.0 PROGRAMLAMA
ActionScript ile çalışmaya başlama
Bilgisayar gerçekten adımları uygularken, her değişkendeki değerlere bakar ve bunları birbirine ekler.
ActionScript 3.0'da, bir değişken üç farklı bölümden oluşur:
• Değişkenin adı
• Değişkende saklanabilen veri türü
• Bilgisayarın belleğinde saklanan gerçek değer
Bilgisayarın, değerin yer tutucusu olarak adı nasıl kullandığını açıkladık. Veri türü de önemlidir. ActionScript'te bir
değişken oluşturduğunuzda, bu değişkenin barındıracağı belirli veri türünü belirtirsiniz; bu noktadan sonra,
programınızın talimatları değişkende yalnızca o veri türünü saklayabilir ve siz de o veri türüyle ilişkilendirilmiş belirli
özellikleri kullanarak değeri işleyebilirsiniz. ActionScript'te, bir değişken oluşturmak için (değişkeni bildirmek de
denilebilir), var deyimini kullanırsınız:
var value1:Number;
Bu durumda, bilgisayara yalnızca Number verilerini ("Number", ActionScript'te tanımlı belirli bir veri türüdür)
barındıracak value1 adında bir değişken oluşturması talimatını verdik. Değişkende hemen bir değeri de
saklayabilirsiniz:
var value2:Number = 17;
Adobe Flash CS4 Professional'da bir değişken bildirmenin başka bir yolu vardır. Sahne Alanı'na bir film klibi sembolü,
düğme sembolü veya metin alanı yerleştirdiğinizde, Özellik denetçisinde buna bir örnek adı verebilirsiniz. Flash
uygulaması, sahne alanının arkasında örnek adıyla aynı ada sahip bir değişken oluşturur ve bu Sahne Alanı öğesini
ifade etmek için ActionScript kodunuzda bu değişkeni kullanabilirsiniz. Böylece, örneğin Sahne Alanı'nda bir film
klibi sembolünüz olursa ve buna rocketShip örnek adını verirseniz, ActionScript kodunuzda rocketShip
değişkenini her kullandığınızda, aslında bu film klibini işliyor olursunuz.
Sabit, bilgisayarın belleğinde belirli bir veri türüyle bir değeri temsil eden bir ad olması açısından değişkene çok benzer.
Tek farkı, sabite bir ActionScript uygulaması sırasında yalnızca bir kere değer atanabilmesidir. Sabitin değeri
atandıktan sonra tüm uygulamada bu değer aynı kalır. Sabit bildirme sözdizimi, değişken bildirme sözdizimiyle
aynıdır, tek farkı, var anahtar sözcüğü yerine const anahtar sözcüğünün kullanılmasıdır:
const SALES_TAX_RATE:Number = 0.07;
Bir proje boyunca birden çok yerde kullanılan ve normal koşullarda değişmeyecek bir değeri tanımlamak için sabit
kullanışlıdır. Değişmez değer yerine bir sabit kullanılması, kodunuzu daha okunaklı hale getirir. Örneğin, bir fiyatı
SALES_TAX_RATE değeriyle çarpan bir kod satırının anlaşılması, fiyatı 0.07 değeriyle çarpan bir kod satırına göre daha
kolaydır. Ayrıca, bir sabit tarafından tanımlanan değerin değişmesi gerekmiyorsa, projeniz boyunca o değeri temsil
etmek için bir sabit kullanırsanız, sabit kodlu değişmez değerleri kullandığınızda yaptığınız gibi çeşitli yerlerde değeri
değiştirmek yerine yalnızca bir yerde (sabit bildiriminde) değeri değiştirmeniz gerekir.
Veri türleri
ActionScript'te, oluşturduğunuz değişkenlerin veri türü olarak kullanabileceğiniz birçok veri türü vardır. Bunlardan
bazıları "basit" veya "temel" veri türleri olarak değerlendirilebilir:
• Dize: bir ad veya kitabın bir bölümü gibi, metin değeri
• Sayısal: ActionScript 3.0, sayısal veriler için üç özel veri türü içerir:
• Sayı: kesirli veya kesirsiz sayılar da dahil olmak üzere herhangi bir sayısal değer
• int: bir tam sayı (kesirsiz bir tam sayı)
• uint: “işaretsiz” tam sayı, başka bir deyişle negatif olamayan bütün bir sayı
11FLASH IÇIN ACTIONSCRIPT 3.0 PROGRAMLAMA
ActionScript ile çalışmaya başlama
• Boolean: bir düğmenin etkin olup olmadığı veya iki değerin eşit olup olmadığı gibi, doğru veya yanlış değeri
Basit veri türleri tek bir bilgiyi temsil eder: örneğin, tek bir sayı veya tek bir metin sırası Ancak, ActionScript'te tanımlı
veri türlerinin çoğunluğu, birlikte gruplandırılabilen değerler kümesini temsil ettiğinden, karmaşık veriler olarak
açıklanabilir. Örneğin, Date veri türüne sahip bir değişken, tek bir değeri (tek bir zamanı) temsil eder. Ancak, bu değer
gerçekte birçok değer olarak temsil edilir: gün, ay, yıl, saat, dakika, saniye, vb. ve bunların her biri ayrı ayrı bir sayıdır.
Böylece, biz tarihi tek bir değer olarak düşünürken (ve Date değişkenini oluşturarak tek bir değer olarak
değerlendirebilirken), bilgisayar dahili olarak bunu birçok değerden oluşan bir grup olarak değerlendirir, bir araya
getirir ve tek bir tarihi tanımlar.
Programcıların tanımladığı veri türlerinin yanı sıra, yerleşik veri türlerinin çoğu da karmaşık veri türleridir.
Tanıyabileceğiniz karmaşık veri türlerinden bazıları şunlardır:
• MovieClip: bir film klibi sembolü
• TextField: dinamik bir alan veya girdi metni alanı
• SimpleButton: bir düğme sembolü
• Date: tek bir zaman (tarih ve saat) hakkındaki bilgi
Sınıf ve nesne sözcükleri genellikle veri türü için eşanlamlı olarak kullanılır. Sınıf, veri türünün tanımıdır, veri türünün
tüm nesneleri için bir şablon gibidir, örn. "Example veri türünün tüm değişkenleri bu özelliklere sahiptir: A, B ve C."
söylemine benzer. Nesne ise sınıfın gerçek bir örneğidir; veri türü MovieClip olan bir değişken, MovieClip nesnesi
olarak açıklanabilir. Aşağıda, aynı şeyi söylemenin birkaç farklı yolu verilmiştir:
• myVariable değişkeninin veri türü Number'dır.
• myVariable değişkeni bir Number örneğidir.
• myVariable değişkeni bir Number nesnesidir.
• myVariable değişkeni, Number sınıfının bir örneğidir.
Nesnelerle çalışma
ActionScript, nesne odaklı programlama dili olarak bilinir. Nesne odaklı programlama, bir programlama yaklaşımı
olup nesneleri kullanarak bir programda kodu organize etme yolundan fazlasını ifade etmez.
Daha önce bilgisayar programını, bilgisayarın gerçekleştirdiği bir adımlar ve talimatlar serisi olarak tanımladık. Bu
durumda kavramsal olarak bilgisayarı tek bir uzun talimatlar listesi olarak düşünebiliriz. Ancak, nesne odaklı
programlamada, program talimatları farklı nesneler arasında bölünür—kod, işlev kümeleri olarak gruplandırılır,
böylece ilgili işlev türleri veya ilgili bilgiler tek bir konteynerde bir arada gruplandırılır.
Aslında, Flash uygulamasında sembollerle çalıştıysanız, nesnelerle de çalışmaya hazırsınız demektir. Bir film klibi
sembolü—örneğin bir dikdörtgen çizimi—tanımladığınızı ve bunun bir kopyasını Sahne Alanı'na yerleştirdiğinizi
varsayın. Bu film klibi aynı zamanda (gerçekten) ActionScript'te bir nesnedir; MovieClip sınıfının bir örneğidir.
Film klibinin değiştirebileceğiniz çeşitli özellikleri vardır. Örneğin, seçili olduğunda, Özellik denetçisinde
değiştirebileceğiniz değerler vardır, örn. x koordinatı, genişlik veya alfa (saydamlık) değiştirme ya da gölge filtresi
ekleme gibi çeşitli renk ayarlamaları. Dikdörtgeni döndürmek için Serbest Dönüştürme aracının kullanılması gibi,
diğer Flash araçları daha fazla değişiklik yapmanıza olanak sağlar. Flash geliştirme ortamında bir film klibi sembolünü
değiştirmek için kullanabildiğiniz tüm bu şeyleri aynı zamanda MovieClip nesnesi adındaki tek bir kümede bir araya
getirilmiş verileri değiştirerek ActionScript'te de yapabilirsiniz.
12FLASH IÇIN ACTIONSCRIPT 3.0 PROGRAMLAMA
ActionScript ile çalışmaya başlama
ActionScript nesne odaklı programlamada, herhangi bir sınıfın içerebileceği üç özellik türü vardır:
• Özellikler
• Yöntemler
• Olaylar
Bu öğeler, program tarafından kullanılan verileri yönetmek ve hangi eylemlerin ne sırada yapılacağına karar vermek
için birlikte kullanılır.
Özellikler
Özellik, bir nesnede kümelenmiş olan verilerden birini temsil eder. Bir şarkı nesnesi, artist ve title adında
özelliklere sahip olabilir; MovieClip sınıfı rotation, x, width ve alpha gibi özelliklere sahiptir. Tek tek değişkenler
gibi özelliklerle çalışabilirsiniz—aslında özellikleri bir nesnede bulunan "alt" değişkenler olarak düşünebilirsiniz.
Aşağıda, özellik kullanan birkaç ActionScript kodu örnekleri verilmiştir. Bu kod satırı, square adındaki MovieClip
öğesini 100 piksel x koordinatına taşır:
square.x = 100;
Bu kod, triangle MovieClip öğesinin dönüşüyle eşleşecek şekilde square MovieClip öğesinin dönmesini sağlamak
için rotation özelliğini kullanır:
square.rotation = triangle.rotation;
Bu kod, square MovieClip öğesinin eski halinden bir buçuk kat daha geniş olmasını sağlayacak şekilde yatay ölçeğini
değiştirir:
square.scaleX = 1.5;
Ortak yapıya dikkat edin: nesnenin adı sırayla nesnenin adını (square, triangle), bir nokta işaretini (.) ve özelliğin
adını (x, rotation, scaleX) içerir. Nokta operatörü olarak da bilinen nokta işareti, bir nesnenin alt öğelerinden birine
erişmekte olduğunu belirtmek için kullanılır. Tüm yapı olduğu gibi "değişken adı-nokta-özellik adı", tek bir değişken
gibi, bilgisayar belleğindeki tek bir değerin adı olarak kullanılır.
Yöntemler
Yöntem, bir nesne tarafından gerçekleştirilebilen bir eylemdir. Örneğin, Flash uygulamasında, zaman çizelgesinde
birçok anahtar kare ve animasyonla bir film klibi sembolü oluşturduysanız, bu film klibi oynatılabilir veya
durdurulabilir ya da bu film klibine oynatma kafasını belirli bir kareye taşıması bildirilebilir.
Bu kod, shortFilm adındaki MovieClip öğesine oynatmayı başlatmasını bildirir:
shortFilm.play();
Bu satır, shortFilm adındaki MovieClip öğesinin oynatmayı durdurmasını sağlar (oynatma kafası, video
duraklatılmış gibi yerinde durdurulur):
shortFilm.stop();
Bu kod, shortFilm adındaki MovieClip öğesinin oynatma kafasını Kare 1'e taşıyıp oynatmayı durdurmasını sağlar
(videoyu geri sarmak gibi):
shortFilm.gotoAndStop(1);
13FLASH IÇIN ACTIONSCRIPT 3.0 PROGRAMLAMA
ActionScript ile çalışmaya başlama
Gördüğünüz gibi, yöntemlere de, tıpkı özellikler gibi sırayla nesnenin adı (bir değişken), nokta işareti, yöntemin adı
ve parantez işaretleri yazılarak erişilebilir. Parantezler, yöntemi çağırdığınızı veya başka bir deyişle nesneye o eylemi
gerçekleştirmesini bildirdiğinizi belirtmenin yoludur. Bazen eylemi gerçekleştirmek için gerekli olan ek bilgileri
iletmenin bir yolu olarak, değerler (veya değişkenler) parantez içine yerleştirilir. Bu değerler, yöntem parametreleri
olarak bilinir. Örneğin, gotoAndStop() yönteminin hangi kareye gideceğini bilmesi gerekir, bu nedenle parantez için
tek bir parametre olması gereklidir. play() ve stop() gibi diğer yöntemler kendinden açıklayıcıdır ve bu nedenle de
fazladan bilgi gerektirmez. Ancak yine de parantez içinde yazılır.
Özelliklerden (ve değişkenlerden) farklı olarak, yöntemler değer yer tutucuları olarak kullanılmaz. Ancak bazı
yöntemler hesaplamalar gerçekleştirebilir ve bir değişken olarak kullanılabilecek bir sonuç döndürebilir. Örneğin,
Number sınıfının toString() yöntemi, sayısal değeri metin olarak temsil edilen haline dönüştürür:
var numericData:Number = 9;
var textData:String = numericData.toString();
Örneğin, Bir Number değişkeninin değerini ekranda bir metin alanında görüntülemek isterseniz, toString()
yöntemini kullanırsınız. TextField sınıfının text özelliği (ekranda görüntülenen gerçek metin içeriğini temsil eder),
String olarak tanımlanır, bu nedenle yalnızca metin değerlerini içerebilir. Bu kod satırı, numericData değişkenindeki
sayısal değeri metne dönüştürür ve sonra bu metnin ekranda calculatorDisplay adındaki TextField nesnesinde
gösterilmesini sağlar:
calculatorDisplay.text = numericData.toString();
Olaylar
Bilgisayar programını, bilgisayarın adım adım gerçekleştirdiği bir talimatlar dizisi olarak açıklamıştık. Bazı basit
bilgisayar programları, bilgisayarın gerçekleştirdiği ve programı sona erdiren birkaç adımdan fazlasını içermez.
Ancak, ActionScript programları sürekli çalışacak ve kullanıcı girdisinin veya başka şeylerin oluşmasını bekleyecek
şekilde tasarlanmıştır. Olaylar, bilgisayarın hangi talimatları ne zaman gerçekleştireceğini belirleyen mekanizmadır.
Temel olarak olaylar, ActionScript'in farkında olduğu ve yanıt verdiği, gerçekleşen şeylerdir. Kullanıcının bir düğmeyi
tıklatması veya klavyedeki bir tuşa basması gibi birçok olay kullanıcı etkileşimiyle ilgilidir ancak başka tür olaylar da
vardır. Örneğin, harici bir görüntüyü yüklemek için ActionScript'i kullanırsanız, görüntü yüklemesinin bittiğini size
bildiren bir olay vardır. Temelde, bir ActionScript programı çalışırken, Adobe Flash Player ve Adobe AIR durup belirli
şeylerin gerçekleşmesini bekler ve bu şeyler gerçekleştiğinde, bu olaylar için belirttiğiniz belirli bir ActionScript
kodunu çalıştırır.
Temel olay işleme
Belirli bir olaya yanıt olarak gerçekleştirilmesi gereken belirli eylemleri belirtme tekniği, olay işleme olarak bilinir. Olay
işleme gerçekleştirmek için ActionScript kodu yazarken tanımlamanız gereken üç önemli öğe vardır:
• Olay kaynağı: Olayın gerçekleşeceği nesne hangisidir? Örneğin, hangi düğme tıklatılacak veya hangi Loader nesnesi
görüntüyü yüklüyor? Olay kaynağı, Flash Player veya AIR tarafından olayın hedeflendiği (başka bir deyişle olayın
gerçekten gerçekleştiği) nesne olduğundan, ayrıca olay hedefi olarak da bilinir.
• Olay: Gerçekleşecek şey, yanıt vermek istediğiniz şey nedir? Birçok nesne çok sayıda olayı tetiklediğinden bunun
tanımlanması önemlidir.
• Yanıt: Olay gerçekleştiğinde hangi adımların gerçekleştirilmesini istiyorsunuz?
Olayları işlemek için her ActionScript kodu yazdığınızda, kodda bu üç öğe yer alır ve kod bu temel yapıya uyar (kalın
öğeler, belirli durumunuz için dolduracağınız yer tutuculardır):
14FLASH IÇIN ACTIONSCRIPT 3.0 PROGRAMLAMA
ActionScript ile çalışmaya başlama
function eventResponse(eventObject:EventType):void
{
// Actions performed in response to the event go here.
}
eventSource.addEventListener(EventType.EVENT_NAME, eventResponse);
Bu kod iki şey gerçekleştirir. İlk olarak, olaya yanıt olarak gerçekleştirilmesini istediğiniz eylemleri belirtmenin bir yolu
olan bir işlevi tanımlar. Daha sonra, işlevin belirtilen olaya abone olmasının sonucu olarak bu, kaynak nesnenin
addEventListener() yöntemini çağırır, böylece olay gerçekleştiğinde işlevin eylemleri gerçekleştirilir. Bu parçaların
her birini daha ayrıntılı şekilde ele alacağız.
İşlev, eylemleri gerçekleştirmek üzere kısayol adı gibi tek bir ad ile eylemleri bir arada gruplandırmanız için bir yol
sağlar. İşlev, bir yönteme benzer, tek farkı, işlevin belirli bir sınıfla ilişkilendirilmek zorunda olmamasıdır. (Aslında
yöntem, belirli bir sınıfla ilişkilendirilmiş bir işlev olarak tanımlanabilir.) Olay işleme için bir işlev oluştururken, işlevin
adını seçmeniz gerekir (bu durumda eventResponse adında). Ayrıca tek bir parametre belirmeniz gerekir (bu örnekte
eventObject adında). İşlev parametresinin belirtilmesi bir değişkenin belirtilmesine benzer, bu nedenle
parametrenin veri türünü de belirtmeniz gerekir. (Bu örnekte, EventType parametrenin veri türüdür.)
Dinlemek istediğiniz her olay türünün kendisiyle ilişkilendirilmiş bir ActionScript sınıfı vardır. İşlev parametresi için
belirttiğiniz veri türü her zaman yanıt vermek istediğiniz belirli bir olayın ilişkilendirilmiş sınıfıdır. Örneğin, click
olayı (kullanıcı fareyle bir öğeyi tıklattığında tetiklenir), MouseEvent sınıfıyla ilişkilendirilir. click olayı için bir
dinleyici işlevi yazmak üzere, MouseEvent veri türüne sahip bir parametreyle dinleyici işlevini tanımlarsınız. Son
olarak, açma ve kapatma küme ayraçları arasına ({ ... }), olay gerçekleştiğinde bilgisayarın uygulamasını istediğiniz
talimatları yazarsınız.
Olay işleme işlevini yazdıktan sonra, olay kaynağı nesnesine (olayın gerçekleştiği nesne—örneğin, düğme) olay
gerçekleştiğinde işlevinizin çağrılmasını istediğinizi bildirmeniz gerekir. O nesnenin addEventListener()
yöntemini çağırarak bunu yaparsınız. (Olaylara sahip tüm nesneler aynı zamanda addEventListener() yöntemine
de sahiptir.) addEventListener() yöntemi iki parametre alır:
• İlk olarak, yanıt vermek istediğiniz belirli olayın adı. Yine her olay belirli bir sınıfa bağlıdır ve bu sınıfın her olay
için önceden tanımlı özel bir değeri olur—bu, birinci parametre için kullanmanız gereken olayın kendi benzersiz
adına benzer.
• İkinci olarak, olay yanıtı işlevinizin adı. İşlev adının parametre olarak iletildiğinde parantez olmadan yazıldığını
unutmayın.
Olay işleme işlemini inceleme
Aşağıda, bir olay dinleyicisi oluşturduğunuzda gerçekleşen işlemin adım adım bir açıklaması yer almaktadır. Bu
durumda, myButton adındaki bir nesne tıklatıldığında çağrılan bir dinleyici işlevinin oluşturulması örneği yer
almaktadır.
Programcı tarafından yazılan gerçek kod şu şekildedir:
function eventResponse(event:MouseEvent):void
{
// Actions performed in response to the event go here.
}
myButton.addEventListener(MouseEvent.CLICK, eventResponse);
15FLASH IÇIN ACTIONSCRIPT 3.0 PROGRAMLAMA
ActionScript ile çalışmaya başlama
Flash Player'da çalışırken bu kodun gerçekten çalışma şekli şöyledir. (Bu davranış Adobe AIR için de aynıdır):
1 SWF dosyası yüklendiğinde, Flash Player, eventResponse() adında bir işlevin olduğunu not eder.
2 Daha sonra Flash Player, kodu (daha net olmak gerekirse, işlevde olmayan kod satırlarını) çalıştırır. Bu durumda
yalnızca bir kod satırı vardır: Olay kaynağı nesnesinde (myButton adında) addEventListener() yöntemini
çağırma ve parametre olarak eventResponse işlevini iletme.
a Dahili olarak myButton öğesi, olaylarının her birini dinleyen işlevlerin bir listesini içerir, böylece
addEventListener() yöntemi çağrıldığında, myButton öğesi olay dinleyicileri listesinde eventResponse()
işlevini saklar.
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe

Weitere ähnliche Inhalte

Was ist angesagt?

Adobe Fireworks CS4 Kullanım Kitapçığı Türkçe
Adobe Fireworks CS4 Kullanım Kitapçığı TürkçeAdobe Fireworks CS4 Kullanım Kitapçığı Türkçe
Adobe Fireworks CS4 Kullanım Kitapçığı Türkçedeniz armutlu
 
Zaxcom Nomad kullanım kılavuzu
Zaxcom Nomad kullanım kılavuzuZaxcom Nomad kullanım kılavuzu
Zaxcom Nomad kullanım kılavuzuRadikal Ltd.
 
Analog devre elemanları
Analog devre elemanlarıAnalog devre elemanları
Analog devre elemanlarıErol Dizdar
 
Doğru akım ve alternatif akım devreleri
Doğru akım ve alternatif akım devreleriDoğru akım ve alternatif akım devreleri
Doğru akım ve alternatif akım devreleriErol Dizdar
 
Görüntü işleme
Görüntü işlemeGörüntü işleme
Görüntü işlemeErol Dizdar
 
YÜZ BULMA VE TANIMA SİSTEMLERİ KULLANARAK
YÜZ BULMA VE TANIMA SİSTEMLERİ KULLANARAKYÜZ BULMA VE TANIMA SİSTEMLERİ KULLANARAK
YÜZ BULMA VE TANIMA SİSTEMLERİ KULLANARAKRecep Holat
 

Was ist angesagt? (16)

Fireworks cs5 help
Fireworks cs5 helpFireworks cs5 help
Fireworks cs5 help
 
Illustrator cs5 help part 0001
Illustrator cs5 help part 0001Illustrator cs5 help part 0001
Illustrator cs5 help part 0001
 
Dreamweaver cs5 help
Dreamweaver cs5 helpDreamweaver cs5 help
Dreamweaver cs5 help
 
Indesign cs5 help part 0001
Indesign cs5 help part 0001Indesign cs5 help part 0001
Indesign cs5 help part 0001
 
Trt staj 2
Trt staj 2Trt staj 2
Trt staj 2
 
Adobe Fireworks CS4 Kullanım Kitapçığı Türkçe
Adobe Fireworks CS4 Kullanım Kitapçığı TürkçeAdobe Fireworks CS4 Kullanım Kitapçığı Türkçe
Adobe Fireworks CS4 Kullanım Kitapçığı Türkçe
 
Zaxcom Nomad kullanım kılavuzu
Zaxcom Nomad kullanım kılavuzuZaxcom Nomad kullanım kılavuzu
Zaxcom Nomad kullanım kılavuzu
 
Analog devre elemanları
Analog devre elemanlarıAnalog devre elemanları
Analog devre elemanları
 
Doğru akım ve alternatif akım devreleri
Doğru akım ve alternatif akım devreleriDoğru akım ve alternatif akım devreleri
Doğru akım ve alternatif akım devreleri
 
Görüntü işleme
Görüntü işlemeGörüntü işleme
Görüntü işleme
 
YÜZ BULMA VE TANIMA SİSTEMLERİ KULLANARAK
YÜZ BULMA VE TANIMA SİSTEMLERİ KULLANARAKYÜZ BULMA VE TANIMA SİSTEMLERİ KULLANARAK
YÜZ BULMA VE TANIMA SİSTEMLERİ KULLANARAK
 
Avid hd omni tr
Avid hd omni trAvid hd omni tr
Avid hd omni tr
 
SAP PP İçindekiler
SAP PP İçindekilerSAP PP İçindekiler
SAP PP İçindekiler
 
Visual studio
Visual studioVisual studio
Visual studio
 
481 bb0091
481 bb0091481 bb0091
481 bb0091
 
Metotlar
MetotlarMetotlar
Metotlar
 

Ähnlich wie Adobe Flash as3 actionscript 3 ile programlama türkçe

Adobe Flash ActionScript 3 components help Türkçe
Adobe Flash ActionScript 3 components help TürkçeAdobe Flash ActionScript 3 components help Türkçe
Adobe Flash ActionScript 3 components help Türkçedeniz armutlu
 
Flash as3 bileşenlerini kullanma
Flash as3 bileşenlerini kullanmaFlash as3 bileşenlerini kullanma
Flash as3 bileşenlerini kullanmadeniz armutlu
 
Avid Pro Tools HD Native Kullanici Kilavuzu v90_69708
Avid Pro Tools HD Native Kullanici Kilavuzu v90_69708Avid Pro Tools HD Native Kullanici Kilavuzu v90_69708
Avid Pro Tools HD Native Kullanici Kilavuzu v90_69708Radikal Ltd.
 
Resimlerle web araçları hazırlama
Resimlerle web araçları hazırlamaResimlerle web araçları hazırlama
Resimlerle web araçları hazırlamaErol Dizdar
 
Nesne tabanlı programlama 2
Nesne tabanlı programlama 2Nesne tabanlı programlama 2
Nesne tabanlı programlama 2Erol Dizdar
 
Laravel51 türkçe sample
Laravel51 türkçe sampleLaravel51 türkçe sample
Laravel51 türkçe sampleEnis Demirci
 
Sunucu işletim sistemi 1
Sunucu işletim sistemi 1Sunucu işletim sistemi 1
Sunucu işletim sistemi 1Erol Dizdar
 
Iç donanım birimleri
Iç donanım birimleriIç donanım birimleri
Iç donanım birimleriErol Dizdar
 
Sunucu işletim sistemi 2
Sunucu işletim sistemi 2Sunucu işletim sistemi 2
Sunucu işletim sistemi 2Erol Dizdar
 
makine öğrenmesi sınıflandırma(öğrenmeli öğrenme) yöntemlerinin weka ortamınd...
makine öğrenmesi sınıflandırma(öğrenmeli öğrenme) yöntemlerinin weka ortamınd...makine öğrenmesi sınıflandırma(öğrenmeli öğrenme) yöntemlerinin weka ortamınd...
makine öğrenmesi sınıflandırma(öğrenmeli öğrenme) yöntemlerinin weka ortamınd...mustafa köstek
 
Yandex Metrica API Dökümanı
Yandex Metrica API DökümanıYandex Metrica API Dökümanı
Yandex Metrica API DökümanıYandex.Türkiye
 
Teknik resim ve çizim teknolojileri 520 tc0029 (2)
Teknik resim ve çizim teknolojileri 520 tc0029 (2)Teknik resim ve çizim teknolojileri 520 tc0029 (2)
Teknik resim ve çizim teknolojileri 520 tc0029 (2)Iklimlendirme Sogutma
 
Adobe flash cs4 pro uygulamasını kullanma
Adobe flash cs4 pro uygulamasını kullanmaAdobe flash cs4 pro uygulamasını kullanma
Adobe flash cs4 pro uygulamasını kullanmadeniz armutlu
 
1 sunucu isletim sistemi
1 sunucu isletim sistemi1 sunucu isletim sistemi
1 sunucu isletim sistemiFatih Tüzen
 
Beyaz Şapkalı Hacker Eğitimi Yardımcı Ders Notları
Beyaz Şapkalı Hacker Eğitimi Yardımcı Ders NotlarıBeyaz Şapkalı Hacker Eğitimi Yardımcı Ders Notları
Beyaz Şapkalı Hacker Eğitimi Yardımcı Ders NotlarıBGA Cyber Security
 
Beyazsapkalihackeregitimikitap 140409071714-phpapp02
Beyazsapkalihackeregitimikitap 140409071714-phpapp02Beyazsapkalihackeregitimikitap 140409071714-phpapp02
Beyazsapkalihackeregitimikitap 140409071714-phpapp02Öncü Furkan
 

Ähnlich wie Adobe Flash as3 actionscript 3 ile programlama türkçe (20)

Adobe Flash ActionScript 3 components help Türkçe
Adobe Flash ActionScript 3 components help TürkçeAdobe Flash ActionScript 3 components help Türkçe
Adobe Flash ActionScript 3 components help Türkçe
 
Flash as3 bileşenlerini kullanma
Flash as3 bileşenlerini kullanmaFlash as3 bileşenlerini kullanma
Flash as3 bileşenlerini kullanma
 
213 gim016
213 gim016213 gim016
213 gim016
 
Avid Pro Tools HD Native Kullanici Kilavuzu v90_69708
Avid Pro Tools HD Native Kullanici Kilavuzu v90_69708Avid Pro Tools HD Native Kullanici Kilavuzu v90_69708
Avid Pro Tools HD Native Kullanici Kilavuzu v90_69708
 
Resimlerle web araçları hazırlama
Resimlerle web araçları hazırlamaResimlerle web araçları hazırlama
Resimlerle web araçları hazırlama
 
Nesne tabanlı programlama 2
Nesne tabanlı programlama 2Nesne tabanlı programlama 2
Nesne tabanlı programlama 2
 
Laravel51 türkçe sample
Laravel51 türkçe sampleLaravel51 türkçe sample
Laravel51 türkçe sample
 
Sunucu işletim sistemi 1
Sunucu işletim sistemi 1Sunucu işletim sistemi 1
Sunucu işletim sistemi 1
 
Iç donanım birimleri
Iç donanım birimleriIç donanım birimleri
Iç donanım birimleri
 
Sunucu işletim sistemi 2
Sunucu işletim sistemi 2Sunucu işletim sistemi 2
Sunucu işletim sistemi 2
 
makine öğrenmesi sınıflandırma(öğrenmeli öğrenme) yöntemlerinin weka ortamınd...
makine öğrenmesi sınıflandırma(öğrenmeli öğrenme) yöntemlerinin weka ortamınd...makine öğrenmesi sınıflandırma(öğrenmeli öğrenme) yöntemlerinin weka ortamınd...
makine öğrenmesi sınıflandırma(öğrenmeli öğrenme) yöntemlerinin weka ortamınd...
 
Yandex Metrica API Dökümanı
Yandex Metrica API DökümanıYandex Metrica API Dökümanı
Yandex Metrica API Dökümanı
 
Teknik resim ve çizim teknolojileri 520 tc0029 (2)
Teknik resim ve çizim teknolojileri 520 tc0029 (2)Teknik resim ve çizim teknolojileri 520 tc0029 (2)
Teknik resim ve çizim teknolojileri 520 tc0029 (2)
 
482 bk0082
482 bk0082482 bk0082
482 bk0082
 
Flash 1
Flash 1Flash 1
Flash 1
 
Adobe flash cs4 pro uygulamasını kullanma
Adobe flash cs4 pro uygulamasını kullanmaAdobe flash cs4 pro uygulamasını kullanma
Adobe flash cs4 pro uygulamasını kullanma
 
1 sunucu isletim sistemi
1 sunucu isletim sistemi1 sunucu isletim sistemi
1 sunucu isletim sistemi
 
BGA- BEYAZ SAPKALI HACKER EGITIMI
BGA- BEYAZ SAPKALI HACKER EGITIMIBGA- BEYAZ SAPKALI HACKER EGITIMI
BGA- BEYAZ SAPKALI HACKER EGITIMI
 
Beyaz Şapkalı Hacker Eğitimi Yardımcı Ders Notları
Beyaz Şapkalı Hacker Eğitimi Yardımcı Ders NotlarıBeyaz Şapkalı Hacker Eğitimi Yardımcı Ders Notları
Beyaz Şapkalı Hacker Eğitimi Yardımcı Ders Notları
 
Beyazsapkalihackeregitimikitap 140409071714-phpapp02
Beyazsapkalihackeregitimikitap 140409071714-phpapp02Beyazsapkalihackeregitimikitap 140409071714-phpapp02
Beyazsapkalihackeregitimikitap 140409071714-phpapp02
 

Mehr von deniz armutlu

Dijital olcme ve egitim araclari deniz 2014 v1
Dijital olcme ve egitim araclari deniz 2014 v1Dijital olcme ve egitim araclari deniz 2014 v1
Dijital olcme ve egitim araclari deniz 2014 v1deniz armutlu
 
Dönem sonu işlemleri
Dönem sonu işlemleriDönem sonu işlemleri
Dönem sonu işlemlerideniz armutlu
 
Adobe Flash cs4 türkçe
Adobe Flash cs4 türkçeAdobe Flash cs4 türkçe
Adobe Flash cs4 türkçedeniz armutlu
 
Adobe Flash ActionScript 3 Programlama Türkçe
Adobe Flash ActionScript 3 Programlama TürkçeAdobe Flash ActionScript 3 Programlama Türkçe
Adobe Flash ActionScript 3 Programlama Türkçedeniz armutlu
 
Adobe Flash cs4 türkçe
Adobe Flash cs4 türkçeAdobe Flash cs4 türkçe
Adobe Flash cs4 türkçedeniz armutlu
 
Adobe flash cs3 yardımcı el kitabı türkçe
Adobe flash cs3 yardımcı el kitabı türkçeAdobe flash cs3 yardımcı el kitabı türkçe
Adobe flash cs3 yardımcı el kitabı türkçedeniz armutlu
 
Adobe Fireworks CS3 Türkçe Yardım Kitapçığı
Adobe Fireworks CS3 Türkçe Yardım KitapçığıAdobe Fireworks CS3 Türkçe Yardım Kitapçığı
Adobe Fireworks CS3 Türkçe Yardım Kitapçığıdeniz armutlu
 
Fireworks CS4 Türkçe Kullanım Kitapçığı
Fireworks CS4 Türkçe Kullanım KitapçığıFireworks CS4 Türkçe Kullanım Kitapçığı
Fireworks CS4 Türkçe Kullanım Kitapçığıdeniz armutlu
 
Adobe photoshop cs3 tr
Adobe photoshop cs3 trAdobe photoshop cs3 tr
Adobe photoshop cs3 trdeniz armutlu
 
Deniz Armutlu CV (Özgeçmiş)Örneği
Deniz Armutlu CV (Özgeçmiş)ÖrneğiDeniz Armutlu CV (Özgeçmiş)Örneği
Deniz Armutlu CV (Özgeçmiş)Örneğideniz armutlu
 
Butun Derslerin 1. Donem Sonu Notlarim
Butun Derslerin 1. Donem Sonu NotlarimButun Derslerin 1. Donem Sonu Notlarim
Butun Derslerin 1. Donem Sonu Notlarimdeniz armutlu
 
Megep Veritabani Dersi Modul 2 Veritabaninda Tablolar
Megep  Veritabani Dersi Modul 2  Veritabaninda TablolarMegep  Veritabani Dersi Modul 2  Veritabaninda Tablolar
Megep Veritabani Dersi Modul 2 Veritabaninda Tablolardeniz armutlu
 
BTT Modul 13. Isletim Sistemleri Destek
BTT Modul 13. Isletim Sistemleri DestekBTT Modul 13. Isletim Sistemleri Destek
BTT Modul 13. Isletim Sistemleri Destekdeniz armutlu
 
BTT Modul 11 Isletim Sistemlerinin Temelleri
BTT Modul 11 Isletim Sistemlerinin TemelleriBTT Modul 11 Isletim Sistemlerinin Temelleri
BTT Modul 11 Isletim Sistemlerinin Temellerideniz armutlu
 
BTT Modul 12 Isletim Sistemi Kurulumu
BTT Modul 12 Isletim Sistemi KurulumuBTT Modul 12 Isletim Sistemi Kurulumu
BTT Modul 12 Isletim Sistemi Kurulumudeniz armutlu
 
BTT Modul 14 Isletim Sistemleri Gelismis Ozellikler Sunumu
BTT Modul 14 Isletim Sistemleri Gelismis Ozellikler SunumuBTT Modul 14 Isletim Sistemleri Gelismis Ozellikler Sunumu
BTT Modul 14 Isletim Sistemleri Gelismis Ozellikler Sunumudeniz armutlu
 
Veritabani.Modul1.Planlama.Ver.1.0
Veritabani.Modul1.Planlama.Ver.1.0Veritabani.Modul1.Planlama.Ver.1.0
Veritabani.Modul1.Planlama.Ver.1.0deniz armutlu
 
BTT. Modul1. Islemciler CPU
BTT. Modul1. Islemciler CPUBTT. Modul1. Islemciler CPU
BTT. Modul1. Islemciler CPUdeniz armutlu
 
BTT. Modul 14. Isletim Sistemleri Gelismis Ozellikler Megep Modulu
BTT. Modul 14. Isletim Sistemleri Gelismis Ozellikler Megep ModuluBTT. Modul 14. Isletim Sistemleri Gelismis Ozellikler Megep Modulu
BTT. Modul 14. Isletim Sistemleri Gelismis Ozellikler Megep Moduludeniz armutlu
 

Mehr von deniz armutlu (20)

Dijital olcme ve egitim araclari deniz 2014 v1
Dijital olcme ve egitim araclari deniz 2014 v1Dijital olcme ve egitim araclari deniz 2014 v1
Dijital olcme ve egitim araclari deniz 2014 v1
 
Dönem sonu işlemleri
Dönem sonu işlemleriDönem sonu işlemleri
Dönem sonu işlemleri
 
Adobe Flash cs4 türkçe
Adobe Flash cs4 türkçeAdobe Flash cs4 türkçe
Adobe Flash cs4 türkçe
 
Adobe Flash ActionScript 3 Programlama Türkçe
Adobe Flash ActionScript 3 Programlama TürkçeAdobe Flash ActionScript 3 Programlama Türkçe
Adobe Flash ActionScript 3 Programlama Türkçe
 
Adobe Flash cs4 türkçe
Adobe Flash cs4 türkçeAdobe Flash cs4 türkçe
Adobe Flash cs4 türkçe
 
Adobe flash cs3 yardımcı el kitabı türkçe
Adobe flash cs3 yardımcı el kitabı türkçeAdobe flash cs3 yardımcı el kitabı türkçe
Adobe flash cs3 yardımcı el kitabı türkçe
 
Adobe Fireworks CS3 Türkçe Yardım Kitapçığı
Adobe Fireworks CS3 Türkçe Yardım KitapçığıAdobe Fireworks CS3 Türkçe Yardım Kitapçığı
Adobe Fireworks CS3 Türkçe Yardım Kitapçığı
 
Fireworks CS4 Türkçe Kullanım Kitapçığı
Fireworks CS4 Türkçe Kullanım KitapçığıFireworks CS4 Türkçe Kullanım Kitapçığı
Fireworks CS4 Türkçe Kullanım Kitapçığı
 
Adobe photoshop cs3 tr
Adobe photoshop cs3 trAdobe photoshop cs3 tr
Adobe photoshop cs3 tr
 
Deniz Armutlu CV (Özgeçmiş)Örneği
Deniz Armutlu CV (Özgeçmiş)ÖrneğiDeniz Armutlu CV (Özgeçmiş)Örneği
Deniz Armutlu CV (Özgeçmiş)Örneği
 
Butun Derslerin 1. Donem Sonu Notlarim
Butun Derslerin 1. Donem Sonu NotlarimButun Derslerin 1. Donem Sonu Notlarim
Butun Derslerin 1. Donem Sonu Notlarim
 
Megep Veritabani Dersi Modul 2 Veritabaninda Tablolar
Megep  Veritabani Dersi Modul 2  Veritabaninda TablolarMegep  Veritabani Dersi Modul 2  Veritabaninda Tablolar
Megep Veritabani Dersi Modul 2 Veritabaninda Tablolar
 
Photoshop Cs3
Photoshop Cs3Photoshop Cs3
Photoshop Cs3
 
BTT Modul 13. Isletim Sistemleri Destek
BTT Modul 13. Isletim Sistemleri DestekBTT Modul 13. Isletim Sistemleri Destek
BTT Modul 13. Isletim Sistemleri Destek
 
BTT Modul 11 Isletim Sistemlerinin Temelleri
BTT Modul 11 Isletim Sistemlerinin TemelleriBTT Modul 11 Isletim Sistemlerinin Temelleri
BTT Modul 11 Isletim Sistemlerinin Temelleri
 
BTT Modul 12 Isletim Sistemi Kurulumu
BTT Modul 12 Isletim Sistemi KurulumuBTT Modul 12 Isletim Sistemi Kurulumu
BTT Modul 12 Isletim Sistemi Kurulumu
 
BTT Modul 14 Isletim Sistemleri Gelismis Ozellikler Sunumu
BTT Modul 14 Isletim Sistemleri Gelismis Ozellikler SunumuBTT Modul 14 Isletim Sistemleri Gelismis Ozellikler Sunumu
BTT Modul 14 Isletim Sistemleri Gelismis Ozellikler Sunumu
 
Veritabani.Modul1.Planlama.Ver.1.0
Veritabani.Modul1.Planlama.Ver.1.0Veritabani.Modul1.Planlama.Ver.1.0
Veritabani.Modul1.Planlama.Ver.1.0
 
BTT. Modul1. Islemciler CPU
BTT. Modul1. Islemciler CPUBTT. Modul1. Islemciler CPU
BTT. Modul1. Islemciler CPU
 
BTT. Modul 14. Isletim Sistemleri Gelismis Ozellikler Megep Modulu
BTT. Modul 14. Isletim Sistemleri Gelismis Ozellikler Megep ModuluBTT. Modul 14. Isletim Sistemleri Gelismis Ozellikler Megep Modulu
BTT. Modul 14. Isletim Sistemleri Gelismis Ozellikler Megep Modulu
 

Adobe Flash as3 actionscript 3 ile programlama türkçe

  • 2. Telif Hakkı © 2008 Adobe Systems Incorporated. Tüm hakları saklıdır. Adobe® Flash® için Adobe® ActionScript® 3.0 Programlama Bu kılavuz son kullanıcı sözleşmesini içeren bir yazılımla birlikte verilmişse bu kılavuz ve onda anlatılan yazılım lisanslıdır ve yalnızca bu lisansa uygun şekilde kullanılabilir veya kopyalanabilir. Bu türde bir lisans tarafından izin verildiği durumlar dışında, bu kılavuzun hiçbir bölümü Adobe Systems Incorporated şirketinden önceden yazılı izin alınmadan çoğaltılamaz, geri alma sistemlerinde depolanamaz veya elektronik, mekanik, kayıt yoluyla veya diğer herhangi bir şekilde veya herhangi bir yöntemle aktarılamaz. Lütfen bu kılavuzun içeriğinin, kılavuz son kullanıcı lisans sözleşmesine sahip bir yazılımla birlikte verilmemiş olsa dahi, telif hakkı yasalarıyla korunduğunu unutmayın. Bu kılavuzun içeriği yalnızca bilgi amaçlıdır, önceden haber verilmeden değiştirilebilir ve Adobe Systems Incorporated şirketinin bir taahhüdü olarak yorumlanmamalıdır. Adobe Systems Incorporated bu kılavuzdaki bilgilerin hatalı veya yanlış olması durumunda hiçbir sorumluluk veya yükümlülük kabul etmez. Projenize dahil etmek isteyebileceğiniz mevcut resimlerin ve görüntülerin telif hakkı yasalarıyla korunuyor olabileceğini unutmayın. Bu türde malzemenin yeni çalışmanıza yetkisiz olarak katılması, telif hakkı sahibinin haklarını ihlal etmek anlamına gelebilir. Lütfen telif hakkı sahibinden gerekli tüm izinleri aldığınızdan emin olun. Örnek şablonlarda şirket adlarına yapılan tüm referanslar yalnızca tanıtım amaçlıdır ve hiçbir gerçek kuruluşla ilgili değildir. Adobe, the Adobe logo, Adobe AIR, ActionScript, Flash, Flash Lite, Flex, Flex Builder, MXML, and Pixel Bender are either registered trademarks or trademarks of 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 a trademark of Apple Inc., registered in the United States and other countries. Java is a trademark or registered trademark of Sun Microsystems, Inc. in the United States 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, USA Notice 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 of “Commercial 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 and Commercial Computer Software Documentation are being licensed to U.S. Government end users (a) only as Commercial items and (b) with only those rights as 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 applicable equal opportunity laws including, if appropriate, the provisions of Executive Order 11246, as amended, Section 402 of the Vietnam Era Veterans Readjustment Assistance 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. iii İçindekiler Bölüm 1: Bu kılavuz hakkında Bu kılavuzu kullanma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 ActionScript belgelerine erişim . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 ActionScript öğrenme kaynakları . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Bölüm 2: ActionScript 3.0'a giriş ActionScript hakkında . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 ActionScript 3.0'ın avantajları . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 ActionScript 3.0'daki yenilikler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Önceki sürümlerle uyumluluk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Bölüm 3: ActionScript ile çalışmaya başlama Programlama temelleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Nesnelerle çalışma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Ortak program öğeleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 Örnek: Animasyon portföy parçası . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 ActionScript ile uygulamalar oluşturma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 Kendi sınıflarınızı oluşturma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 Örnek: Temel bir uygulama oluşturma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 Sonraki örnekleri çalıştırma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 Bölüm 4: ActionScript dili ve sözdizimi Dile genel bakış . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 Nesneler ve sınıflar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 Paketler ve ad alanları . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 Değişkenler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 Veri türleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 Sözdizimi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 Operatörler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 Koşullar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 Döngü . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 İşlevler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 Bölüm 5: ActionScript'te nesne tabanlı programlama Nesne tabanlı programlama temelleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 Sınıflar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 Arabirimler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 Miras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 Gelişmiş başlıklar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 Örnek: GeometricShapes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 Bölüm 6: Tarih ve saatlerle çalışma Tarih ve saat temelleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 Takvim tarih ve saatlerini yönetme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
  • 4. ivFLASH IÇIN ACTIONSCRIPT 3.0 PROGRAMLAMA İçindekiler Zaman aralıklarını denetleme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 Örnek: Basit analog saat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 Bölüm 7: Dizelerle çalışma Dizelerin temelleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 Dizeler oluşturma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 length özelliği . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 Dizelerdeki karakterlerle çalışma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 Dizeleri karşılaştırma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 Diğer nesnelerin dize halinde temsilini alma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 Dizeleri bitiştirme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 Dizelerdeki alt dizeleri ve desenleri bulma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 Dizeleri büyük harfe veya küçük harfe dönüştürme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 Örnek: ASCII art . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 Bölüm 8: Dizilerle çalışma Dizilerin temelleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 Dizinlenmiş diziler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 İlişkilendirilebilir diziler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 Çok boyutlu diziler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 Dizileri klonlama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 Gelişmiş başlıklar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 Örnek: PlayList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 Bölüm 9: Hataları işleme Hata işlemenin temelleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 Hata türleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 ActionScript 3.0'da hata işleme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 Flash Player ve AIR uygulamalarının hata ayıklayıcı sürümleriyle çalışma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 Bir uygulamada eşzamanlı hataları işleme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 Özel hata sınıfları oluşturma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189 Hata olaylarını ve durumunu yanıtlama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190 Error sınıflarını karşılaştırma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 Örnek: CustomErrors uygulaması . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 Bölüm 10: Normal ifadeler kullanma Normal ifadelerin temelleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202 Normal ifade sözdizimi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204 Dizelerle normal ifadeleri kullanma yöntemleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216 Örnek: Wiki ayrıştırıcı . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217 Bölüm 11: XML ile çalışma XML temelleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222 XML işlemeye yönelik E4X yaklaşımı . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225 XML nesneleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227 XMLList nesneleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229 XML değişkenlerini başlatma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230 XML nesnelerini birleştirme ve dönüştürme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
  • 5. vFLASH IÇIN ACTIONSCRIPT 3.0 PROGRAMLAMA İçindekiler XML yapılarında geçiş yapma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233 XML ad alanlarını kullanma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237 XML tür dönüştürmesi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238 Harici XML belgelerini okuma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239 Örnek: Internet'ten RSS yükleme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240 Bölüm 12: Olayları işleme Olay işleme temelleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243 ActionScript 3.0 olay işleme, önceki sürümlerden nasıl farklılık gösterir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245 Olay akışı . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247 Olay nesneleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249 Olay dinleyicileri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253 Örnek: Alarm Clock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259 Bölüm 13: Görüntü programlama Görüntü programlama temelleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265 Çekirdek görüntüleme sınıfları . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269 Görüntüleme listesi yaklaşımının avantajları . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270 Görüntüleme nesneleriyle çalışma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273 Görüntüleme nesnelerini işleme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285 Nesnelere animasyon uygulama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303 Görüntüleme içeriğini dinamik olarak yükleme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305 Örnek: SpriteArranger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308 Bölüm 14: Çizim API'sini kullanma Çizim API'sini kullanma temelleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314 Graphics sınıfını anlama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316 Çizgi ve eğriler çizme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316 Yerleşik yöntemleri kullanarak şekiller çizme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318 Degrade çizgiler ve dolgular oluşturma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319 Çizim yöntemleriyle Math sınıfını kullanma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323 Çizim API'si ile animasyon uygulama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324 Örnek: Algoritmik Görsel Efekt Oluşturucu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324 Çizim API'sinin ileri düzey kullanımı . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326 Yol Çizme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327 Sargı kurallarını tanımlama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329 Grafik verisi sınıflarını kullanma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331 drawTriangles() öğesini kullanma hakkında . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333 Bölüm 15: Geometriyle çalışma Geometri temelleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334 Point nesnelerini kullanma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336 Rectangle nesnelerini kullanma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338 Matrix nesnelerini kullanma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341 Örnek: Görüntüleme nesnesine matris dönüştürmesi uygulama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
  • 6. viFLASH IÇIN ACTIONSCRIPT 3.0 PROGRAMLAMA İçindekiler Bölüm 16: Görüntüleme nesnelerine filtre uygulama Görüntüleme nesnelerine filtre uygulama temelleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346 Filtreler oluşturma ve uygulama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347 Kullanılabilir görüntü filtreleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354 Örnek: Filter Workbench . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369 Bölüm 17: Pixel Bender gölgelendiricileriyle çalışma Pixel Bender gölgelendiricilerinin temelleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377 Gölgelendirici yükleme veya gömme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379 Gölgelendirici meta verilerine erişme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380 Gölgelendirici girdisi ve parametre değerlerini belirtme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382 Gölgelendirici kullanma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387 Bölüm 18: Film klipleriyle çalışma Film kliplerinin temelleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399 MovieClip nesneleriyle çalışma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401 Film klibi oynatımını denetleme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401 ActionScript ile MovieClip nesneleri oluşturma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404 Harici bir SWF dosyasını yükleme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406 Örnek: RuntimeAssetsExplorer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407 Bölüm 19: Ara hareketlerle çalışma Ara Hareket Temelleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411 Ara hareket komut dosyalarını kopyalama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412 Ara hareket komut dosyalarını birleştirme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413 Animasyonu açıklama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413 Filtreler ekleme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416 Ara hareketi görüntüleme nesneleriyle ilişkilendirme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417 Bölüm 20: Ters kinematikle çalışma Ters Kinematik temelleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419 IK Armatürlerine Animasyon Uygulamaya Genel Bakış . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420 IK armatürü hakkında bilgi alma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422 IK Taşıyıcısını Başlatma ve IK Taşıyıcısının Hareketini Sınırlama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422 Bir IK Armatürünü hareket ettirme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423 IK Olaylarını Kullanma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423 Bölüm 21: Metinle çalışma Metinle çalışmanın temelleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425 TextField sınıfını kullanma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427 Flash Text Engine'i kullanma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449 Bölüm 22: Bitmaplerle çalışma Bitmaplerle çalışmanın temelleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 476 Bitmap ve BitmapData sınıfları . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 478 Piksellerde değişiklik yapma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480 Bitmap verilerini kopyalama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 482 Gürültü işlevleri ile doku oluşturma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 483
  • 7. viiFLASH IÇIN ACTIONSCRIPT 3.0 PROGRAMLAMA İçindekiler Bitmapleri kaydırma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485 Mipmap oluşturma avantajından yararlanma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 486 Örnek: Animasyonlu dönen ay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 486 Bölüm 23: Üç boyutlu (3B) çalışma 3B temelleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 497 Flash Player ve AIR çalışma zamanının 3B özelliklerini anlama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 498 3B nesneler oluşturma ve taşıma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 500 3B nesneleri 2B görünümde yansıtma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 502 Örnek: Perspektif projeksiyonu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 503 Karmaşık 3B dönüştürmeler gerçekleştirme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 506 3B efektler için üçgenleri kullanma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 509 Bölüm 24: Videoyla çalışma Video temelleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 517 Video formatlarını anlama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519 Video sınıfını anlama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 521 Video dosyalarını yükleme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 522 Video oynatımını denetleme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 522 Tam ekran modunda video oynatma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524 Video dosyalarını akışa alma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 528 İşaret noktalarını anlama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 528 Meta veri ve işaret noktaları için geri çağrı yöntemleri yazma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 529 İşaret noktalarını ve meta verileri kullanma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534 Kamera girdisini yakalama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 543 Sunucuya video gönderme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 549 FLV dosyaları için gelişmiş başlıklar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 550 Örnek: Video Jukebox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 551 Bölüm 25: Sesle çalışma Sesle çalışmanın temelleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 557 Ses mimarisini anlama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 559 Harici ses dosyalarını yükleme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 560 Gömülü seslerle çalışma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 562 Akış ses dosyalarıyla çalışma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563 Dinamik olarak oluşturulmuş sesle çalışma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 564 Sesleri çalma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 566 Sesler yüklenirken ve çalınırken dikkate alınması gereken güvenlikle ilgili noktalar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 570 Ses düzeyini denetleme ve yatay kaydırma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 570 Ses meta verisiyle çalışma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 572 Ham ses verilerine erişme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 573 Ses girdisini yakalama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 577 Örnek: Podcast Player . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 580 Bölüm 26: Kullanıcı girdisini yakalama Kullanıcı girdisinin temelleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 588 Klavye girdisini yakalama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 589
  • 8. viiiFLASH IÇIN ACTIONSCRIPT 3.0 PROGRAMLAMA İçindekiler Fare girişi yakalama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 591 Örnek: WordSearch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 595 Bölüm 27: Ağ iletişimi ve iletişim Ağ iletişimi ve iletişimin temelleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 599 Harici verilerle çalışma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 602 Diğer Flash Player ve AIR örneklerine bağlanma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 607 Soket bağlantıları . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 612 Yerel verileri saklama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 616 Veri dosyalarıyla çalışma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 618 Örnek: Bir Telnet istemcisi oluşturma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 632 Örnek: Dosya yükleme ve indirme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 635 Bölüm 28: İstemci sistemi ortamı İstemci sistemi ortamının temelleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 641 System sınıfını kullanma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 643 Capabilities sınıfını kullanma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 644 ApplicationDomain sınıfını kullanma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 644 IME sınıfını kullanma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 647 Örnek: Sistem yeteneklerini algılama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 652 Bölüm 29: Kopyalayıp yapıştırma Kopyalayıp yapıştırma temelleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 656 Sistem panosundan okuma ve sistem panosuna yazma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 656 Pano veri formatları . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 657 Bölüm 30: Yazdırma Yazdırma temelleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 661 Sayfa yazdırma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 662 Flash Player ve AIR görevleri ve sistem yazdırması . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 663 Boyutu, ölçeği ve yönlendirmeyi ayarlama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 666 Örnek: Çoklu sayfa yazdırma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 667 Örnek: Ölçekleme, kırpma ve yanıtlama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 669 Bölüm 31: Harici API'yi kullanma Harici API'yi kullanma temelleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 672 Harici API gereksinimleri ve avantajları . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 674 ExternalInterface sınıfını kullanma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 675 Örnek: Harici API'yi bir web sayfası konteyneriyle kullanma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 679 Örnek: Harici API'yi bir ActiveX konteyneriyle kullanma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 684 Bölüm 32: Flash Player güvenliği Flash Player güvenliğine genel bakış . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 690 Güvenlik sanal alanları . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 691 İzin denetimleri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 694 Ağ iletişim API'lerini kısıtlama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 701 Tam ekran modu güvenliği . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 703 İçerik yükleme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 704
  • 9. ixFLASH IÇIN ACTIONSCRIPT 3.0 PROGRAMLAMA İçindekiler Çapraz komut dosyası oluşturma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 706 Veri olarak yüklenen ortama erişme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 709 Veri yükleme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 711 Güvenlik etki alanına içe aktarılan SWF dosyalarından gömülü içerik yükleme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 714 Eski içerikle çalışma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 714 LocalConnection izinlerini ayarlama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 715 Giden URL erişimini denetleme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 715 Paylaşılan nesneler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 717 Kamera, mikrofon, pano, fare ve klavye erişimi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 718 Dizin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 719
  • 10. 1 Bölüm 1: Bu kılavuz hakkında Bu kılavuz Adobe® ActionScript® 3.0'da uygulama geliştirmek için gerekli olan temel bilgileri sunar. Açıklanan fikir ve teknikleri en iyi şekilde anlayabilmek için veri türleri, değişkenler, döngüler ve işlevler gibi genel programlama kavramlarını bilmeniz gerekmektedir. Ayrıca sınıflar ve miras alma gibi nesne tabanlı temel programlama kavramlarını da anlıyor olmanız gerekir. ActionScript 1.0 veya ActionScript 2.0 bilgisi işinize yarayacak olsa da şart değildir. Bu kılavuzu kullanma Bu kılavuzun bölümleri ActionScript belgelerinin ilgili kısımlarını daha kolay bulmanız için aşağıdaki mantıksal gruplara ayrılmıştır: Bu kılavuz ayrıca önemli veya sık kullanılan sınıflar için uygulama programlama kavramlarını gösteren sayısız örnek dosya içerir. Örnek dosyalar Adobe® Flash® CS4 Professional ile daha kolay yüklenecek ve kullanılabilecek şekilde paketlenmiştir ve saran dosyalar içerebilir. Ancak, örnek kodun temeli istediğiniz geliştirme ortamında kullanabileceğiniz ActionScript 3.0 biçimindedir. ActionScript 3.0 şunlar da dahil olmak üzere birden fazla şekilde yazılabilir ve derlenebilir: • Adobe Flex Builder 3 geliştirme ortamını kullanma • Flex Builder 3 ile birlikte verilen gibi herhangi bir metin düzenleyici ve komut satırı derleyici kullanma • Adobe® Flash® CS4 Professional geliştirme aracını kullanma ActionScript geliştirme ortamları ile ilgili daha fazla bilgi için “ActionScript 3.0'a giriş” sayfa 4 bölümüne bakın. Bu kılavuzdaki kod örneklerini anlamak için Flex Builder veya Flash geliştirme aracı gibi ActionScript için dahili geliştirme ortamları tecrübeniz olması gerekli değildir. Ancak bu araçlarla ActionScript 3.0 kodu yazmayı ve derlemeyi öğrenmek için ilgili araçların belgelerine başvurmak isteyeceksiniz. Daha fazla bilgi için bkz. “ActionScript belgelerine erişim” sayfa 2. Bölümler Açıklama Bölüm 2-5, ActionScript programlamaya genel bakış Dil sözdizimi, deyimler, operatörler ve nesne tabanlı ActionScript programlama gibi temel ActionScript 3.0 kavramlarını ele alır. Bölüm 6-11, temel ActionScript 3.0 veri türleri ve sınıfları ActionScript 3.0'daki üst düzey veri türlerini açıklar. Bölüm 12-32, Flash Player ve Adobe AIR API'leri Olay işleme, görüntüleme nesneleri ve görüntüleme listesiyle çalışma, ağ ve iletişimler, dosya girdisi ve çıktısı, harici arabirim, uygulama güvenlik modeli ve bunlar gibi Adobe Flash Player ve Adobe AIR uygulamasına özgü paket ve sınıflarda uygulanan önemli özellikleri açıklar.
  • 11. 2FLASH IÇIN ACTIONSCRIPT 3.0 PROGRAMLAMA Bu kılavuz hakkında ActionScript belgelerine erişim Bu kılavuz ağırlıklı olarak zengin ve güçlü bir nesne tabanlı programlama dili olan ActionScript 3.0'ı anlattığı için belirli bir araç veya sunucu mimarisi içerisindeki uygulama geliştirme sürecine veya iş akışına geniş yer vermez. Bu nedenle, ActionScript 3.0'ı Programlama'nın yanı sıra, ActionScript 3.0 uygulamalarının tasarlama, geliştirme, test etme ve konuşlandırma sürecinde diğer belgelere de başvurmak isteyeceksiniz. ActionScript 3.0 belgeleri Bu kılavuz size ActionScript 3.0 programlama dilinin altındaki kavramları tanıtır ve dilin önemli özelliklerini gösteren uygulama detayları ve örnekleri sunar. Ancak, bu kılavuz tam bir dil başvurusu değildir. Bu nedenle, dil içindeki her sınıfı, yöntemi, özelliği ve olayı anlatan ActionScript 3.0 Dil ve Bileşen Başvurusu bölümünü inceleyin. ActionScript 3.0 Dil ve Bileşenler Başvurusu, temel dil, Flash geliştirme aracı bileşenleri (fl paketlerindeki) ve Flash Player ve Adobe AIR API'leri (flash paketlerindeki) ile ilgili ayrıntılı başvuru bilgisi sunar. Flash belgeleri Flash geliştirme aracını kullanıyorsanız, şu kılavuzlara başvurmak isteyebilirsiniz: Kitap Açıklama Flash'ı kullanma Flash geliştirme aracında dinamik web uygulamalarınızı nasıl geliştireceğinizi açıklar ActionScript 3.0'ı Programlama ActionScript 3.0 dili ve temel Flash Player ve Adobe AIR API'sinin belirli kullanımını açıklar ActionScript 3.0 Dil ve Bileşenler Başvurusu Flash geliştirme aracı bileşenleri ve ActionScript 3.0 API'si için sözdizimi, kullanım ve kod örnekleri sunar ActionScript 3.0 Bileşenlerini Kullanma Flash tarafından oluşturulan uygulamaları geliştirmek için bileşenlerin kullanımıyla ilgili ayrıntıları açıklar Flash CS4 Professional ile Adobe AIR Uygulamaları Geliştirme Flash içinde ActionScript 3.0 ve Adobe AIR API'si kullanılarak Adobe AIR uygulamalarının nasıl geliştirileceğini ve konuşlandırılacağını anlatır Adobe Flash içinde ActionScript 2.0 Öğrenme ActionScript 2.0 sözdizimine genel bir bakış sunar ve farklı nesne türleri ile çalışırken ActionScript 2.0'ın nasıl kullanılacağını açıklar ActionScript 2.0 Dil Başvurusu Flash geliştirme aracı bileşenleri ve ActionScript 2.0 API'si için sözdizimi, kullanım ve kod örnekleri sunar ActionScript 2.0 Bileşenlerini Kullanma Flash tarafından oluşturulan uygulamaları geliştirmek için ActionScript 2.0 bileşenlerinin nasıl kullanılacağını ayrıntılı şekilde açıklar ActionScript 2.0 Bileşenleri Dil Başvurusu Sürüm 2 Adobe Bileşen Mimarisi ve ilgili API içerisinde bulunan bileşenleri anlatır Flash'ı Genişletme Javascript API'si içerisindeki nesneleri, yöntemleri ve özellikleri anlatır Flash Lite 2.x ile Çalışmaya Başlama Uygulama geliştirmek için Adobe® Flash® Lite™ 2.x uygulamasının nasıl kullanılacağını açıklar ve Flash Lite 2.x ile kullanılabilen ActionScript özellikleri için sözdizimi, kullanım ve kod örnekleri sunar Flash Lite 2.x Uygulamaları Geliştirme Flash Lite 2.x uygulamalarının nasıl geliştirileceğini açıklar Flash Lite 2.x ActionScript'e Giriş Flash Lite 2.x ile nasıl uygulama geliştirileceğini gösterir ve Flash Lite 2.x geliştiricilerinin kullanabildiği tüm ActionScript özelliklerini anlatır Flash Lite 2.x ActionScript Dil Başvurusu) Flash Lite 2.x içinde bulunan ActionScript 2.0 API'si için sözdizimi, kullanım ve kod örneği sunar.
  • 12. 3FLASH IÇIN ACTIONSCRIPT 3.0 PROGRAMLAMA Bu kılavuz hakkında ActionScript öğrenme kaynakları Bu kılavuzlara ek olarak Adobe, Adobe Geliştirici Merkezi ve Adobe Tasarım Merkezi'nde düzenli olarak güncellenen makaleler, tasarım fikirleri ve örnekler sunar. Adobe Geliştirici Merkezi Adobe Geliştirici Merkezi'nde ActionScript ile ilgili en son bilgiler, gerçek dünya uygulama geliştirme üzerine makaleler ve önemli yeni konular ile ilgili bilgiler yer almaktadır. Geliştirici Merkezi'ne www.adobe.com/devnet/ adreslerinden ulaşabilirsiniz. Adobe Tasarım Merkezi Dijital tasarım ve hareketli grafik ile ilgili en son bilgileri alın. Önemli sanatçıların adıyla göz atın, yeni tasarım eğilimlerini keşfedin ve dersler, önemli iş akışları ve gelişmiş tekniklerle becerilerinizi geliştirin. Yeni dersler ve makaleler ile ilham verici galeri öğeleri için iki haftada bir kontrol edin. Tasarım Merkezi'ne www.adobe.com/designcenter/ adresinden ulaşabilirsiniz. Flash Lite 1.x ile Çalışmaya Başlama Flash Lite 1.x uygulamasına giriş sunar ve Adobe® Device Central CS4 emülatörü kullanarak içeriğinizi nasıl test edeceğinizi açıklar Flash Lite 1.x Uygulamaları Geliştirme Flash Lite 1.x kullanılarak mobil cihazlar için nasıl uygulama geliştirileceğini anlatır. Flash Lite 1.x ActionScript Öğrenmek FlashLite1.xiçerisindenasılActionScriptkullanılacağınıveFlashLite1.xiçerisinde bulunan ActionScript özelliklerini anlatır Flash Lite 1.x ActionScript Dil Başvurusu FlashLite1.xiçerisindebulunanActionScriptöğelerininsözdiziminivekullanımını sunar Kitap Açıklama
  • 13. 4 Bölüm 2: ActionScript 3.0'a giriş Bu bölümde, en yeni ve en yenilikçi ActionScript sürümü olan Adobe® ActionScript® 3.0'a genel bakış sağlanmaktadır. ActionScript hakkında ActionScript, Adobe® Flash® Player ve Adobe® AIR™ çalışma zamanı ortamları için programlama dilidir. Flash, Flex ve AIR içerik ve uygulamalarında etkileşim, veri işleme ve daha fazlasına olanak sağlar. ActionScript, Flash Player ve AIR uygulamasının bir parçası olan ActionScript Virtual Machine (AVM) tarafından çalıştırılır. ActionScript kodu, Adobe® Flash® CS4 Professional veya Adobe® Flex™ Builder™ uygulamasında yerleşik olanlar ya da Adobe® Flex™ SDK uygulamasında kullanılabilir olanlar gibi, genellikle bir derleyici tarafından bayt kodu formatında (bilgisayarlar tarafından yazılan ve anlaşılan bir çeşit programlama dili) derlenir. Bayt kodu, Flash Player ve AIR uygulamaları tarafından çalıştırılan SWF dosyalarında gömülüdür. ActionScript 3.0, nesne tabanlı programlama konusunda temel bilgisi olan geliştiricilere bilindik gelecek güçlü bir programlama modeli sunar. ActionScript 3.0'ın önceki ActionScript sürümlerinden daha gelişmiş olan bazı önemli özellikleri arasında şunlar yer alır: • AVM2 adı verilen ve yeni bir bayt kodu talimat kümesi kullanıp önemli ölçüde performans artışı sağlayan yeni bir ActionScript Virtual Machine. • Önceki derleyici sürümlerinden daha derin eniyileştirmeler gerçekleştiren daha modern bir derleyici kodu • Düşük düzeyde nesne denetimi ve gerçek bir nesne odaklı model içeren, genişletilmiş ve geliştirilmiş bir uygulama programlama arabirimi (API) • XML için ECMAScript (E4X) belirtimini (ECMA-357 sürüm 2) esas alan XML API'si. E4X, dilin yerel veri türü olarak ECMAScript'e XML ekleyen bir dil uzantısıdır. • Belge Nesnesi Modeli (DOM) Düzey 3 Olaylar Belirtimi'ni esas alan bir olay modeli ActionScript 3.0'ın avantajları ActionScript 3.0, önceki ActionScript sürümlerinin komut dosyası oluşturma yeteneklerinden çok daha fazlasını sunar. Büyük veri kümeleri ve nesne tabanlı, yeniden kullanılabilir kod tabanları ile oldukça karmaşık uygulamaların oluşturulmasını kolaylaştırmak üzere tasarlanmıştır. ActionScript 3.0, Adobe Flash Player uygulamasında çalışan içerik için gerekmese de, yalnızca yeni sanal makine olan AVM2 ile kullanılabilen performans artışına bir kapı açar. ActionScript 3.0 kodu, eski ActionScript kodundan on kata kadar daha hızlı çalışabilir. Eski ActionScript Virtual Machine sürümü olan AVM1, ActionScript 1.0 ve ActionScript 2.0 kodunu çalıştırır. Varolan ve eski içerikle geriye doğru uyumluluk sağlamak için Flash Player 9 ve 10 tarafından AVM1 desteklenir. Daha fazla bilgi için, bkz. “Önceki sürümlerle uyumluluk” sayfa 7.
  • 14. 5FLASH IÇIN ACTIONSCRIPT 3.0 PROGRAMLAMA ActionScript 3.0'a giriş ActionScript 3.0'daki yenilikler ActionScript 3.0, ActionScript programcılara tanıdık gelen birçok sınıf ve özellik içerse de, ActionScript 3.0 mimari ve kavramsal açıdan önceki ActionScript sürümlerinden farklıdır. ActionScript 3.0'daki geliştirmeler arasında, çekirdek dilin yeni özellikleri ve düşük düzeyli nesneler üzerinde daha yüksek denetim sağlayan gelişmiş Flash Player API'si yer alır. Not: Adobe® AIR™ uygulamaları, Flash Player API'lerini de kullanabilir. Çekirdek dil özellikleri Çekirdek dil, programlama dilinin deyimler, ifadeler, koşullar, döngüler ve türler gibi temel bina bloklarını tanımlar. ActionScript 3.0, geliştirme işlemini hızlandıran birçok yeni özellik içerir. Çalışma zamanı istisnaları ActionScript 3.0, önceki ActionScript sürümlerinden daha çok hata koşulu bildirir. Yaygın hata koşulları için çalışma zamanı istisnaları kullanılarak hata ayıklama deneyimini geliştirir ve hataları daha güçlü şekilde işleyen uygulamalar geliştirmenizi sağlar. Çalışma zamanı hataları, kaynak dosya ve satır numarası bilgilerini ek açıklama olarak veren yığın izleri sağlayarak hızlı şekilde hataların yerini belirlemenize yardımcı olur. Çalışma zamanı türleri ActionScript 2.0'da tür ek açıklamaları birincil olarak geliştiriciye yardım sağlama amaçlıydı; çalışma zamanında tüm değerler dinamik olarak türlenmiştir. ActionScript 3.0'da, tür açıklamaları çalışma zamanında korunur ve birçok amaç için kullanılır. Flash Player ve Adobe AIR, çalışma zamanı, çalışma zamanı tür denetlemesi uygulayarak sistemin tür güvenliğini artırır. Tür bilgileri aynı zamanda yerel makine temsillerinde değişkenleri temsil etmek için de kullanılarak performansı artırır ve bellek kullanımını azaltır. Mühürlenmiş sınıflar ActionScript 3.0, mühürlenmiş sınıf kavramını getirmiştir. Mühürlenmiş bir sınıf, derleme zamanında tanımlanmış yalnızca sabit özellikler ve yöntemler kümesine sahiptir; bu sınıfa ek özellikler ve yöntemler eklenemez. Bu da daha katı derleme zamanı denetlemesi sağlayarak daha güçlü programlar oluşmasına neden olur. Buna ek olarak, nesne örneklerinin her biri için dahili bir karma tablo gerektirmeyerek bellek kullanımını da azaltır. dynamic anahtar sözcüğünün kullanılmasıyla dinamik sınıflar da mümkündür. ActionScript 3.0'daki tüm sınıflar varsayılan olarak mühürlenmiştir ancak dynamic anahtar sözcüğüyle bu sınıfların dinamik olduğu bildirilebilir. Yöntem kapanışı ActionScript 3.0, yöntem kapanışının otomatik olarak orijinal nesne örneğini hatırlamasına olanak sağlar. Bu özellik, olay işlemesi için kullanışlıdır. ActionScript 2.0'da, yöntem kapanışları hangi nesne örneğinden ayıklandıklarını hatırlamaz ve bu da yöntem kapanışı çağrıldığında beklenmeyen davranış oluşmasına neden olur. mx.utils.Delegate sınıfı sık kullanılan bir geçici çözümdür ancak artık buna ihtiyaç kalmamıştır. XML için ECMAScript (E4X) ActionScript 3.0, en son ECMA-357 olarak standartlaştırılmış olan XML için ECMAScript (E4X) uygular. E4X, XML'in işlenmesi için doğal ve akıcı bir dil yapıları kümesi sunar. Geleneksel XML ayrıştırma API'lerinin tersine, E4X ile XML, dilin yerel bir veri türüymüş gibi hareket eder. E4X, ihtiyaç duyulan kod miktarını büyük ölçüde azaltarak XML'i işleyen uygulamaların geliştirilmesini kolaylaştırır. E4X'in ActionScript 3.0 uygulaması hakkında daha fazla bilgi almak için, bkz. “XML ile çalışma” sayfa 222. ECMA’nın E4X belirtimini görüntülemek için www.ecma-international.org adresine gidin.
  • 15. 6FLASH IÇIN ACTIONSCRIPT 3.0 PROGRAMLAMA ActionScript 3.0'a giriş Normal ifadeler ActionScript 3.0, hızlı şekilde dizeleri arayabilmeniz ve işleyebilmeniz amacıyla normal ifadeler için yerel destek içerir. ECMAScript (ECMA-262) sürüm 3 dil belirtiminde belirtildiği şekilde ActionScript 3.0, normal ifadeler için destek uygular. Ad alanları Ad alanları, bildirimlerin görünürlüğünü (public, private, protected) kontrol etmek için kullanılan geleneksel erişim belirticilerine benzer. Bunlar, seçtiğiniz adlara sahip olabilen özel erişim belirticileri olarak çalışır. Çakışmaları önlemek için, ad alanlarında bir Universal Resource Identifier (URI) bulunur ve E4X ile çalıştığınızda XML ad alanlarını temsil etmek için de ad alanları kullanılır. Yeni ilkel türler ActionScript 2.0, Number adında, çift kesinlikli ve kayan nokta sayısı olan tek bir sayısal türe sahiptir. ActionScript 3.0, int ve uint türlerini içerir. int türü, ActionScript'in CPU için hızlı tam sayı matematik yeteneklerinden faydalanmasına olanak sağlayan 32-bit işaretli bir tam sayıdır. int türü, döngü sayaçları ve tam sayıların kullanıldığı değişkenler için kullanışlıdır. uint türü, RGB renk değerleri, bayt sayıları ve daha fazlası için kullanışlı olan işaretsiz, 32-bit tam sayı türüdür. Flash Player API'sinin özellikleri ActionScript 3.0'daki Flash Player API'leri, düşük bir düzeydeki nesneleri kontrol etmenize olanak sağlayan birçok sınıf içerir. Dil mimarisi, önceki sürümlere göre daha sezgisel olacak şekilde tasarlanmıştır. Burada ayrıntılı şekilde ele alınacak çok fazla sayıda yeni sınıf olsa da, ilerleyen bölümlerde bazı önemli değişikliklere yer verilmiştir. Not: Adobe® AIR™ uygulamaları, Flash Player API'lerini de kullanabilir. DOM3 olay modeli Belge Nesnesi Modeli Düzey 3 olay modeli (DOM3), uygulama içindeki nesnelerin etkileşim ve iletişim kurarak durumlarını koruyabilmesi ve değişikliğe yanıt vermesi için olay mesajları oluşturma ve işlemeye yönelik standart bir yöntem sağlar. World Wide Web Consortium DOM Düzey 3 Olaylar Belirtimi'nden sonra düzenlenen bu model, önceki ActionScript sürümlerinde kullanılabilir olan olay sistemlerinden daha net ve daha etkili bir mekanizma sağlar. Olaylar ve hata olayları, flash.events paketinde bulunur. Flash bileşenleri çerçevesi, Flash Player API'siyle aynı olay modelini kullanır, bu nedenle olay sistemi tüm Flash platformunda birleştirilmiştir. Görüntüleme listesi API'si Flash Player ve Adobe AIR görüntüleme listesine (uygulamadaki görsel öğeleri içeren ağaç) erişme API'si, görsel ilkel öğelerle çalışmaya yönelik sınıfları içerir. Yeni Sprite sınıfı, hafif bir bina bloğu olup MovieClip sınıfına benzer ancak UI bileşenleri için temel sınıf olarak daha uygundur. Yeni Shape sınıfı ham vektör şekillerini temsil eder. Bu sınıflar new operatörüyle doğal olarak başlatılabilir ve herhangi bir zamanda dinamik olarak yeniden üst öğeye sahip olabilir. Derinlik yönetimi şimdi otomatiktir ve Flash Player ve Adobe AIR uygulamalarında yerleşik olarak bulunur, böylece derinlik sayılarının atamasının oluşturulması gereksizdir. Nesnelerin z sırasının belirtilmesi ve yönetilmesi için yeni yöntemler sağlanır.
  • 16. 7FLASH IÇIN ACTIONSCRIPT 3.0 PROGRAMLAMA ActionScript 3.0'a giriş Dinamik verileri ve içerikleri işleme ActionScript 3.0, uygulamanızda varlıkların ve verilerin yüklenmesi için tüm API'de sezgisel ve tutarlı olan mekanizmalar içerir. Yeni Loader sınıfı, SWF dosyalarının ve görüntü varlıklarının yüklenmesi için tek bir mekanizma ve yüklenen içerikle ilgili ayrıntılı bilgilere erişme yolu sağlar. URLLoader sınıfı, veri tabanlı uygulamalarda metin ve ikili verilerin yüklenmesi için ayrı bir mekanizma sağlar. Socket sınıfı, sunucu soketlerine herhangi bir formatta ikili verileri okuyup yazmak için bir araç sağlar. Düşük düzeyli veri erişimi Çeşitli API'ler, önceden ActionScript'te asla kullanılabilir olmayan verilere düşük düzeyli erişim sağlar. URLLoader tarafından uygulanan URLStream sınıfı, indirilen veriler için, indirme sırasında verilere ham ikili veriler olarak erişilmesini sağlar. ByteArray sınıfı, ikili verilerle okumayı, yazmayı ve çalışmayı eniyileştirmenize olanak sağlar. Yeni Sound API'si, SoundChannel ve SoundMixer sınıfları üzerinden ayrıntılı ses denetimi sağlar. Güvenlikle ilgilenen yeni API'ler, SWF dosyasının veya yüklenen içeriğin güvenlik ayrıcalıkları hakkında bilgi sağlayarak güvenlik hatalarını daha iyi işlemenize olanak tanır. Metinle çalışma ActionScript 3.0, tüm metinle ilgili API'ler için bir flash.text paketi içerir. TextLineMetrics sınıfı, bir metin alanındaki metin satırı için ayrıntılı ölçütler sağlar; ActionScript 2.0'daki TextFormat.getTextExtent() öğesinin yerini alır. TextField sınıfı, bir metin satırı veya bir metin satırındaki tek bir karakter hakkında belirli bilgiler sağlayabilen ilginç özellikte birçok yeni düşük düzeyli yöntemler içerir. Bu yöntemler arasında, bir karakterin sınırlama kutusunu temsil eden dikdörtgeni döndüren getCharBoundaries(), belirtilen bir noktadaki karakterin dizinini döndüren getCharIndexAtPoint() ve bir paragraftaki birinci karakterin dizinini döndüren getFirstCharInParagraph() yer alır. Satır düzeyindeki yöntemler arasında, belirtilen bir metin satırındaki karakterlerin sayısını döndüren getLineLength() ve belirtilen satırın metnini döndüren getLineText() yer alır. Yeni bir Font sınıfı, SWF dosyalarındaki gömülü fontların yönetilmesi için araçlar sağlar. Önceki sürümlerle uyumluluk Flash Player her zamanki gibi, önceden yayınlanmış içerikle geriye doğru tam uyumluluk sağlar. Önceki Flash Player sürümlerinde çalışan tüm içerikler Flash Player 9 ve sonrasında da çalışır. Ancak Flash Player 9'da ActionScript 3.0'ın bulunması, eski içerik ile Flash Player 9'da çalışan yeni içerik arasında birlikte çalışılabilirlik konusunda zorluklara yol açabilir. Uyumluluk sorunları arasında şunlar yer alır: • Tek bir SWF dosyası, ActionScript 1.0 veya 2.0 kodunu ActionScript 3.0 koduyla birleştiremez. • ActionScript 3.0 kodu, ActionScript 1.0 veya 2.0'da yazılmış bir SWF dosyasını yükleyebilir ancak SWF dosyasının değişkenlerine ve işlevlerine erişemez. • ActionScript 1.0 veya 2.0'da yazılmış SWF dosyaları, ActionScript 3.0'da yazılmış SWF dosyalarını yükleyemez. Bu da, Flash 8 veya Flex Builder 1.5 ya da önceki sürümlerde yazılmış SWF dosyalarının ActionScript 3.0 SWF dosyalarını yükleyemediği anlamına gelir. Bu kuralın tek istisnası, ActionScript 2.0 SWF dosyası, düzeylerinden birine önceden herhangi bir şey yüklemediği sürece, ActionScript 2.0 SWF dosyasının bir ActionScript 3.0 SWF dosyasıyla kendisini değiştirebilmesidir. ActionScript 2.0 SWF dosyası, loadMovieNum() öğesine bir çağrı yapıp level parametresine 0 değerini ileterek bunu yapabilir.
  • 17. 8FLASH IÇIN ACTIONSCRIPT 3.0 PROGRAMLAMA ActionScript 3.0'a giriş • Genelde, ActionScript 3.0'da yazılmış SWF dosyalarıyla birlikte çalışacaksa, ActionScript 1.0 veya 2.0'da yazılmış SWF dosyalarının alınması gerekir. Örneğin, ActionScript 2.0'ı kullanarak bir ortam oynatıcısı oluşturduğunuzu varsayın. Ortam oynatıcısı, ayrıca ActionScript 2.0'da oluşturulmuş çeşitli içerikleri de yükler. ActionScript 3.0'da yeni içerik oluşturup bu içeriği ortam oynatıcısına yükleyemezsiniz. Video oynatıcısını ActionScript 3.0'a almanız gerekir. Ancak ActionScript 3.0'da bir ortam oynatıcısı oluşturursanız, bu ortam oynatıcısı ActionScript 2.0 içeriğinizin basit yüklemelerini gerçekleştirebilir. Aşağıdaki tablolarda, önceki Flash Player sürümlerinin yeni içerik yüklenmesi ve kod çalıştırılmasıyla ilgili sınırlamaları ve farklı ActionScript sürümlerinde yazılmış SWF dosyaları arasında çapraz komut dosyası oluşturma sınırlamaları özetlenmektedir. Aşağıdaki tabloda yer alan “Desteklenen işlevler”, Flash Player 9 veya sonrasında çalıştırılan içerikleri ifade eder. Flash Player 8 veya öncesinde çalışan içerikler yalnızca ActionScript 1.0 ve 2.0'da yüklenebilir, görüntülenebilir, çalıştırılabilir ve bu içeriklerin çapraz komut dosyası oluşturulabilir. Desteklenen işlevler Flash Player 7 Flash Player 8 Flash Player 9 ve 10 Şunlar için yayınlanmış SWF dosyalarını yükleyebilir 7 ve öncesi 8 ve öncesi 9 (veya 10) ve öncesi Bu AVM'yi içerir AVM1 AVM1 AVM1 ve AVM2 Şu ActionScript sürümlerinde yazılmış SWF'leri çalıştırır 1.0 ve 2.0 1.0 ve 2.0 1.0 ve 2.0 ve 3.0 Desteklenen işlevler ActionScript 1.0 ve 2.0'da oluşturulan içerik ActionScript 3.0'da oluşturulan içerik Şu sürümlerde oluşturulan içerik yüklenebilir ve içerikteki kod çalıştırılabilir yalnızca ActionScript 1.0 ve 2.0 ActionScript 1.0, 2.0 ve ActionScript 3.0 Şu sürümlerde oluşturulan içeriğin çapraz komut dosyası oluşturulabilir yalnızcaActionScript1.0ve2.0(YerelBağlantı üzerinden ActionScript 3.0) Yerel Bağlantı üzerinden ActionScript 1.0 ve 2.0 ActionScript 3.0
  • 18. 9 Bölüm 3: ActionScript ile çalışmaya başlama Bu bölüm, ActionScript programlamaya başlamanız için tasarlanmış olup bu kılavuzun geri kalanında karşılaşacağınız kavramları ve örnekleri anlamak için ihtiyaç duyacağınız arka planı size sağlar. ActionScript'te uygulanma şekli kapsamında açıklanan temel programlama kavramlarıyla başlayacağız. Ayrıca ActionScript uygulamasının organize edilmesi ve oluşturulması temellerini de ele alacağız. Programlama temelleri ActionScript bir programlama dili olduğundan, ilk önce birkaç genel bilgisayar programlama kavramını anlarsanız, ActionScript'i öğrenmeniz kolaylaşacaktır. Bilgisayar programları ne yapar Öncelikle, bilgisayar programının ne olduğuna ve ne yaptığına dair kavramsal bir fikir edinilmesi yardımcı olacaktır. Bilgisayar programının iki yönü vardır: • Program, bilgisayarın gerçekleştirmesi için tasarlanmış talimatlar veya adımlar serisidir. • Her adım bazı bilgi veya verilerin işlenmesini içerir. Genel anlamda bilgisayar programı, bilgisayara verdiğiniz ve bilgisayar tarafından birer birer gerçekleştirilen adım adım talimatlar listesidir. Talimatların her birine deyim denir. Bu kılavuzda da göreceğiniz gibi, ActionScript'te her deyim, sonunda bir noktalı virgül olacak şekilde yazılır. Temelde, bir programdaki talimatın yaptığı tüm şey, bilgisayarın belleğinde saklanan bazı veri bitlerini işlemekten ibarettir. Basit bir örnek vermek gerekirse, bilgisayara iki sayı eklemesini ve sonucu belleğinde saklamasını talimat olarak verebilirsiniz. Daha karmaşık bir örnek vermek gerekirse, ekranda çizili bir dikdörtgen olduğunu ve bu dikdörtgeni başka bir yere taşımak için bir program yazmak istediğinizi varsayalım. Bilgisayar, dikdörtgenle ilgili belirli bilgileri izler, örn. dikdörtgenin konumlandırıldığı x, y koordinatları, genişliği, uzunluğu, rengi, vb. Bu bilgi bitlerinin her biri bilgisayarın belleğinde bir yerde saklanır. Dikdörtgeni farklı bir konuma taşıma programı, "x koordinatını 200 olarak değiştir; y koordinatını 15 olarak değiştir" (başka bir deyişle, x ve y koordinatları için kullanılacak yeni değerleri belirten) gibi adımlar içerecektir. Elbette bilgisayar bu sayıları gerçekten bilgisayar ekranında görüntülenen görüntüye dönüştürmek için bu verilerle bir şeyler yapar; ancak şu an için bizi ilgilendiren ayrıntı düzeyine göre, "ekrandaki dikdörtgeni taşıma" işleminin gerçekten bilgisayar belleğindeki veri bitlerinin değiştirilmesiyle gerçekleştiğinin bilinmesi yeterlidir. Değişkenler ve sabitler Programlama temel olarak bilgisayar belleğindeki bilgilerin değiştirilmesini içerdiğinden, programda tek bir bilgiyi temsil etmenin bir yolunun olması gerekir. Değişken, bilgisayar belleğindeki bir değeri temsil eden addır. Değerleri işlemek için deyimler yazdığınızda, değerin yerine değişkenin adını yazarsınız; bilgisayar değişken adını programınızda her gördüğünde, belleğine bakar ve orada bulduğu değeri kullanır. Örneğin, her biri bir sayı içeren, value1 ve value2 adında iki değişkeniniz varsa, bu iki sayıyı eklemek için şu deyimi yazabilirsiniz: value1 + value2
  • 19. 10FLASH IÇIN ACTIONSCRIPT 3.0 PROGRAMLAMA ActionScript ile çalışmaya başlama Bilgisayar gerçekten adımları uygularken, her değişkendeki değerlere bakar ve bunları birbirine ekler. ActionScript 3.0'da, bir değişken üç farklı bölümden oluşur: • Değişkenin adı • Değişkende saklanabilen veri türü • Bilgisayarın belleğinde saklanan gerçek değer Bilgisayarın, değerin yer tutucusu olarak adı nasıl kullandığını açıkladık. Veri türü de önemlidir. ActionScript'te bir değişken oluşturduğunuzda, bu değişkenin barındıracağı belirli veri türünü belirtirsiniz; bu noktadan sonra, programınızın talimatları değişkende yalnızca o veri türünü saklayabilir ve siz de o veri türüyle ilişkilendirilmiş belirli özellikleri kullanarak değeri işleyebilirsiniz. ActionScript'te, bir değişken oluşturmak için (değişkeni bildirmek de denilebilir), var deyimini kullanırsınız: var value1:Number; Bu durumda, bilgisayara yalnızca Number verilerini ("Number", ActionScript'te tanımlı belirli bir veri türüdür) barındıracak value1 adında bir değişken oluşturması talimatını verdik. Değişkende hemen bir değeri de saklayabilirsiniz: var value2:Number = 17; Adobe Flash CS4 Professional'da bir değişken bildirmenin başka bir yolu vardır. Sahne Alanı'na bir film klibi sembolü, düğme sembolü veya metin alanı yerleştirdiğinizde, Özellik denetçisinde buna bir örnek adı verebilirsiniz. Flash uygulaması, sahne alanının arkasında örnek adıyla aynı ada sahip bir değişken oluşturur ve bu Sahne Alanı öğesini ifade etmek için ActionScript kodunuzda bu değişkeni kullanabilirsiniz. Böylece, örneğin Sahne Alanı'nda bir film klibi sembolünüz olursa ve buna rocketShip örnek adını verirseniz, ActionScript kodunuzda rocketShip değişkenini her kullandığınızda, aslında bu film klibini işliyor olursunuz. Sabit, bilgisayarın belleğinde belirli bir veri türüyle bir değeri temsil eden bir ad olması açısından değişkene çok benzer. Tek farkı, sabite bir ActionScript uygulaması sırasında yalnızca bir kere değer atanabilmesidir. Sabitin değeri atandıktan sonra tüm uygulamada bu değer aynı kalır. Sabit bildirme sözdizimi, değişken bildirme sözdizimiyle aynıdır, tek farkı, var anahtar sözcüğü yerine const anahtar sözcüğünün kullanılmasıdır: const SALES_TAX_RATE:Number = 0.07; Bir proje boyunca birden çok yerde kullanılan ve normal koşullarda değişmeyecek bir değeri tanımlamak için sabit kullanışlıdır. Değişmez değer yerine bir sabit kullanılması, kodunuzu daha okunaklı hale getirir. Örneğin, bir fiyatı SALES_TAX_RATE değeriyle çarpan bir kod satırının anlaşılması, fiyatı 0.07 değeriyle çarpan bir kod satırına göre daha kolaydır. Ayrıca, bir sabit tarafından tanımlanan değerin değişmesi gerekmiyorsa, projeniz boyunca o değeri temsil etmek için bir sabit kullanırsanız, sabit kodlu değişmez değerleri kullandığınızda yaptığınız gibi çeşitli yerlerde değeri değiştirmek yerine yalnızca bir yerde (sabit bildiriminde) değeri değiştirmeniz gerekir. Veri türleri ActionScript'te, oluşturduğunuz değişkenlerin veri türü olarak kullanabileceğiniz birçok veri türü vardır. Bunlardan bazıları "basit" veya "temel" veri türleri olarak değerlendirilebilir: • Dize: bir ad veya kitabın bir bölümü gibi, metin değeri • Sayısal: ActionScript 3.0, sayısal veriler için üç özel veri türü içerir: • Sayı: kesirli veya kesirsiz sayılar da dahil olmak üzere herhangi bir sayısal değer • int: bir tam sayı (kesirsiz bir tam sayı) • uint: “işaretsiz” tam sayı, başka bir deyişle negatif olamayan bütün bir sayı
  • 20. 11FLASH IÇIN ACTIONSCRIPT 3.0 PROGRAMLAMA ActionScript ile çalışmaya başlama • Boolean: bir düğmenin etkin olup olmadığı veya iki değerin eşit olup olmadığı gibi, doğru veya yanlış değeri Basit veri türleri tek bir bilgiyi temsil eder: örneğin, tek bir sayı veya tek bir metin sırası Ancak, ActionScript'te tanımlı veri türlerinin çoğunluğu, birlikte gruplandırılabilen değerler kümesini temsil ettiğinden, karmaşık veriler olarak açıklanabilir. Örneğin, Date veri türüne sahip bir değişken, tek bir değeri (tek bir zamanı) temsil eder. Ancak, bu değer gerçekte birçok değer olarak temsil edilir: gün, ay, yıl, saat, dakika, saniye, vb. ve bunların her biri ayrı ayrı bir sayıdır. Böylece, biz tarihi tek bir değer olarak düşünürken (ve Date değişkenini oluşturarak tek bir değer olarak değerlendirebilirken), bilgisayar dahili olarak bunu birçok değerden oluşan bir grup olarak değerlendirir, bir araya getirir ve tek bir tarihi tanımlar. Programcıların tanımladığı veri türlerinin yanı sıra, yerleşik veri türlerinin çoğu da karmaşık veri türleridir. Tanıyabileceğiniz karmaşık veri türlerinden bazıları şunlardır: • MovieClip: bir film klibi sembolü • TextField: dinamik bir alan veya girdi metni alanı • SimpleButton: bir düğme sembolü • Date: tek bir zaman (tarih ve saat) hakkındaki bilgi Sınıf ve nesne sözcükleri genellikle veri türü için eşanlamlı olarak kullanılır. Sınıf, veri türünün tanımıdır, veri türünün tüm nesneleri için bir şablon gibidir, örn. "Example veri türünün tüm değişkenleri bu özelliklere sahiptir: A, B ve C." söylemine benzer. Nesne ise sınıfın gerçek bir örneğidir; veri türü MovieClip olan bir değişken, MovieClip nesnesi olarak açıklanabilir. Aşağıda, aynı şeyi söylemenin birkaç farklı yolu verilmiştir: • myVariable değişkeninin veri türü Number'dır. • myVariable değişkeni bir Number örneğidir. • myVariable değişkeni bir Number nesnesidir. • myVariable değişkeni, Number sınıfının bir örneğidir. Nesnelerle çalışma ActionScript, nesne odaklı programlama dili olarak bilinir. Nesne odaklı programlama, bir programlama yaklaşımı olup nesneleri kullanarak bir programda kodu organize etme yolundan fazlasını ifade etmez. Daha önce bilgisayar programını, bilgisayarın gerçekleştirdiği bir adımlar ve talimatlar serisi olarak tanımladık. Bu durumda kavramsal olarak bilgisayarı tek bir uzun talimatlar listesi olarak düşünebiliriz. Ancak, nesne odaklı programlamada, program talimatları farklı nesneler arasında bölünür—kod, işlev kümeleri olarak gruplandırılır, böylece ilgili işlev türleri veya ilgili bilgiler tek bir konteynerde bir arada gruplandırılır. Aslında, Flash uygulamasında sembollerle çalıştıysanız, nesnelerle de çalışmaya hazırsınız demektir. Bir film klibi sembolü—örneğin bir dikdörtgen çizimi—tanımladığınızı ve bunun bir kopyasını Sahne Alanı'na yerleştirdiğinizi varsayın. Bu film klibi aynı zamanda (gerçekten) ActionScript'te bir nesnedir; MovieClip sınıfının bir örneğidir. Film klibinin değiştirebileceğiniz çeşitli özellikleri vardır. Örneğin, seçili olduğunda, Özellik denetçisinde değiştirebileceğiniz değerler vardır, örn. x koordinatı, genişlik veya alfa (saydamlık) değiştirme ya da gölge filtresi ekleme gibi çeşitli renk ayarlamaları. Dikdörtgeni döndürmek için Serbest Dönüştürme aracının kullanılması gibi, diğer Flash araçları daha fazla değişiklik yapmanıza olanak sağlar. Flash geliştirme ortamında bir film klibi sembolünü değiştirmek için kullanabildiğiniz tüm bu şeyleri aynı zamanda MovieClip nesnesi adındaki tek bir kümede bir araya getirilmiş verileri değiştirerek ActionScript'te de yapabilirsiniz.
  • 21. 12FLASH IÇIN ACTIONSCRIPT 3.0 PROGRAMLAMA ActionScript ile çalışmaya başlama ActionScript nesne odaklı programlamada, herhangi bir sınıfın içerebileceği üç özellik türü vardır: • Özellikler • Yöntemler • Olaylar Bu öğeler, program tarafından kullanılan verileri yönetmek ve hangi eylemlerin ne sırada yapılacağına karar vermek için birlikte kullanılır. Özellikler Özellik, bir nesnede kümelenmiş olan verilerden birini temsil eder. Bir şarkı nesnesi, artist ve title adında özelliklere sahip olabilir; MovieClip sınıfı rotation, x, width ve alpha gibi özelliklere sahiptir. Tek tek değişkenler gibi özelliklerle çalışabilirsiniz—aslında özellikleri bir nesnede bulunan "alt" değişkenler olarak düşünebilirsiniz. Aşağıda, özellik kullanan birkaç ActionScript kodu örnekleri verilmiştir. Bu kod satırı, square adındaki MovieClip öğesini 100 piksel x koordinatına taşır: square.x = 100; Bu kod, triangle MovieClip öğesinin dönüşüyle eşleşecek şekilde square MovieClip öğesinin dönmesini sağlamak için rotation özelliğini kullanır: square.rotation = triangle.rotation; Bu kod, square MovieClip öğesinin eski halinden bir buçuk kat daha geniş olmasını sağlayacak şekilde yatay ölçeğini değiştirir: square.scaleX = 1.5; Ortak yapıya dikkat edin: nesnenin adı sırayla nesnenin adını (square, triangle), bir nokta işaretini (.) ve özelliğin adını (x, rotation, scaleX) içerir. Nokta operatörü olarak da bilinen nokta işareti, bir nesnenin alt öğelerinden birine erişmekte olduğunu belirtmek için kullanılır. Tüm yapı olduğu gibi "değişken adı-nokta-özellik adı", tek bir değişken gibi, bilgisayar belleğindeki tek bir değerin adı olarak kullanılır. Yöntemler Yöntem, bir nesne tarafından gerçekleştirilebilen bir eylemdir. Örneğin, Flash uygulamasında, zaman çizelgesinde birçok anahtar kare ve animasyonla bir film klibi sembolü oluşturduysanız, bu film klibi oynatılabilir veya durdurulabilir ya da bu film klibine oynatma kafasını belirli bir kareye taşıması bildirilebilir. Bu kod, shortFilm adındaki MovieClip öğesine oynatmayı başlatmasını bildirir: shortFilm.play(); Bu satır, shortFilm adındaki MovieClip öğesinin oynatmayı durdurmasını sağlar (oynatma kafası, video duraklatılmış gibi yerinde durdurulur): shortFilm.stop(); Bu kod, shortFilm adındaki MovieClip öğesinin oynatma kafasını Kare 1'e taşıyıp oynatmayı durdurmasını sağlar (videoyu geri sarmak gibi): shortFilm.gotoAndStop(1);
  • 22. 13FLASH IÇIN ACTIONSCRIPT 3.0 PROGRAMLAMA ActionScript ile çalışmaya başlama Gördüğünüz gibi, yöntemlere de, tıpkı özellikler gibi sırayla nesnenin adı (bir değişken), nokta işareti, yöntemin adı ve parantez işaretleri yazılarak erişilebilir. Parantezler, yöntemi çağırdığınızı veya başka bir deyişle nesneye o eylemi gerçekleştirmesini bildirdiğinizi belirtmenin yoludur. Bazen eylemi gerçekleştirmek için gerekli olan ek bilgileri iletmenin bir yolu olarak, değerler (veya değişkenler) parantez içine yerleştirilir. Bu değerler, yöntem parametreleri olarak bilinir. Örneğin, gotoAndStop() yönteminin hangi kareye gideceğini bilmesi gerekir, bu nedenle parantez için tek bir parametre olması gereklidir. play() ve stop() gibi diğer yöntemler kendinden açıklayıcıdır ve bu nedenle de fazladan bilgi gerektirmez. Ancak yine de parantez içinde yazılır. Özelliklerden (ve değişkenlerden) farklı olarak, yöntemler değer yer tutucuları olarak kullanılmaz. Ancak bazı yöntemler hesaplamalar gerçekleştirebilir ve bir değişken olarak kullanılabilecek bir sonuç döndürebilir. Örneğin, Number sınıfının toString() yöntemi, sayısal değeri metin olarak temsil edilen haline dönüştürür: var numericData:Number = 9; var textData:String = numericData.toString(); Örneğin, Bir Number değişkeninin değerini ekranda bir metin alanında görüntülemek isterseniz, toString() yöntemini kullanırsınız. TextField sınıfının text özelliği (ekranda görüntülenen gerçek metin içeriğini temsil eder), String olarak tanımlanır, bu nedenle yalnızca metin değerlerini içerebilir. Bu kod satırı, numericData değişkenindeki sayısal değeri metne dönüştürür ve sonra bu metnin ekranda calculatorDisplay adındaki TextField nesnesinde gösterilmesini sağlar: calculatorDisplay.text = numericData.toString(); Olaylar Bilgisayar programını, bilgisayarın adım adım gerçekleştirdiği bir talimatlar dizisi olarak açıklamıştık. Bazı basit bilgisayar programları, bilgisayarın gerçekleştirdiği ve programı sona erdiren birkaç adımdan fazlasını içermez. Ancak, ActionScript programları sürekli çalışacak ve kullanıcı girdisinin veya başka şeylerin oluşmasını bekleyecek şekilde tasarlanmıştır. Olaylar, bilgisayarın hangi talimatları ne zaman gerçekleştireceğini belirleyen mekanizmadır. Temel olarak olaylar, ActionScript'in farkında olduğu ve yanıt verdiği, gerçekleşen şeylerdir. Kullanıcının bir düğmeyi tıklatması veya klavyedeki bir tuşa basması gibi birçok olay kullanıcı etkileşimiyle ilgilidir ancak başka tür olaylar da vardır. Örneğin, harici bir görüntüyü yüklemek için ActionScript'i kullanırsanız, görüntü yüklemesinin bittiğini size bildiren bir olay vardır. Temelde, bir ActionScript programı çalışırken, Adobe Flash Player ve Adobe AIR durup belirli şeylerin gerçekleşmesini bekler ve bu şeyler gerçekleştiğinde, bu olaylar için belirttiğiniz belirli bir ActionScript kodunu çalıştırır. Temel olay işleme Belirli bir olaya yanıt olarak gerçekleştirilmesi gereken belirli eylemleri belirtme tekniği, olay işleme olarak bilinir. Olay işleme gerçekleştirmek için ActionScript kodu yazarken tanımlamanız gereken üç önemli öğe vardır: • Olay kaynağı: Olayın gerçekleşeceği nesne hangisidir? Örneğin, hangi düğme tıklatılacak veya hangi Loader nesnesi görüntüyü yüklüyor? Olay kaynağı, Flash Player veya AIR tarafından olayın hedeflendiği (başka bir deyişle olayın gerçekten gerçekleştiği) nesne olduğundan, ayrıca olay hedefi olarak da bilinir. • Olay: Gerçekleşecek şey, yanıt vermek istediğiniz şey nedir? Birçok nesne çok sayıda olayı tetiklediğinden bunun tanımlanması önemlidir. • Yanıt: Olay gerçekleştiğinde hangi adımların gerçekleştirilmesini istiyorsunuz? Olayları işlemek için her ActionScript kodu yazdığınızda, kodda bu üç öğe yer alır ve kod bu temel yapıya uyar (kalın öğeler, belirli durumunuz için dolduracağınız yer tutuculardır):
  • 23. 14FLASH IÇIN ACTIONSCRIPT 3.0 PROGRAMLAMA ActionScript ile çalışmaya başlama function eventResponse(eventObject:EventType):void { // Actions performed in response to the event go here. } eventSource.addEventListener(EventType.EVENT_NAME, eventResponse); Bu kod iki şey gerçekleştirir. İlk olarak, olaya yanıt olarak gerçekleştirilmesini istediğiniz eylemleri belirtmenin bir yolu olan bir işlevi tanımlar. Daha sonra, işlevin belirtilen olaya abone olmasının sonucu olarak bu, kaynak nesnenin addEventListener() yöntemini çağırır, böylece olay gerçekleştiğinde işlevin eylemleri gerçekleştirilir. Bu parçaların her birini daha ayrıntılı şekilde ele alacağız. İşlev, eylemleri gerçekleştirmek üzere kısayol adı gibi tek bir ad ile eylemleri bir arada gruplandırmanız için bir yol sağlar. İşlev, bir yönteme benzer, tek farkı, işlevin belirli bir sınıfla ilişkilendirilmek zorunda olmamasıdır. (Aslında yöntem, belirli bir sınıfla ilişkilendirilmiş bir işlev olarak tanımlanabilir.) Olay işleme için bir işlev oluştururken, işlevin adını seçmeniz gerekir (bu durumda eventResponse adında). Ayrıca tek bir parametre belirmeniz gerekir (bu örnekte eventObject adında). İşlev parametresinin belirtilmesi bir değişkenin belirtilmesine benzer, bu nedenle parametrenin veri türünü de belirtmeniz gerekir. (Bu örnekte, EventType parametrenin veri türüdür.) Dinlemek istediğiniz her olay türünün kendisiyle ilişkilendirilmiş bir ActionScript sınıfı vardır. İşlev parametresi için belirttiğiniz veri türü her zaman yanıt vermek istediğiniz belirli bir olayın ilişkilendirilmiş sınıfıdır. Örneğin, click olayı (kullanıcı fareyle bir öğeyi tıklattığında tetiklenir), MouseEvent sınıfıyla ilişkilendirilir. click olayı için bir dinleyici işlevi yazmak üzere, MouseEvent veri türüne sahip bir parametreyle dinleyici işlevini tanımlarsınız. Son olarak, açma ve kapatma küme ayraçları arasına ({ ... }), olay gerçekleştiğinde bilgisayarın uygulamasını istediğiniz talimatları yazarsınız. Olay işleme işlevini yazdıktan sonra, olay kaynağı nesnesine (olayın gerçekleştiği nesne—örneğin, düğme) olay gerçekleştiğinde işlevinizin çağrılmasını istediğinizi bildirmeniz gerekir. O nesnenin addEventListener() yöntemini çağırarak bunu yaparsınız. (Olaylara sahip tüm nesneler aynı zamanda addEventListener() yöntemine de sahiptir.) addEventListener() yöntemi iki parametre alır: • İlk olarak, yanıt vermek istediğiniz belirli olayın adı. Yine her olay belirli bir sınıfa bağlıdır ve bu sınıfın her olay için önceden tanımlı özel bir değeri olur—bu, birinci parametre için kullanmanız gereken olayın kendi benzersiz adına benzer. • İkinci olarak, olay yanıtı işlevinizin adı. İşlev adının parametre olarak iletildiğinde parantez olmadan yazıldığını unutmayın. Olay işleme işlemini inceleme Aşağıda, bir olay dinleyicisi oluşturduğunuzda gerçekleşen işlemin adım adım bir açıklaması yer almaktadır. Bu durumda, myButton adındaki bir nesne tıklatıldığında çağrılan bir dinleyici işlevinin oluşturulması örneği yer almaktadır. Programcı tarafından yazılan gerçek kod şu şekildedir: function eventResponse(event:MouseEvent):void { // Actions performed in response to the event go here. } myButton.addEventListener(MouseEvent.CLICK, eventResponse);
  • 24. 15FLASH IÇIN ACTIONSCRIPT 3.0 PROGRAMLAMA ActionScript ile çalışmaya başlama Flash Player'da çalışırken bu kodun gerçekten çalışma şekli şöyledir. (Bu davranış Adobe AIR için de aynıdır): 1 SWF dosyası yüklendiğinde, Flash Player, eventResponse() adında bir işlevin olduğunu not eder. 2 Daha sonra Flash Player, kodu (daha net olmak gerekirse, işlevde olmayan kod satırlarını) çalıştırır. Bu durumda yalnızca bir kod satırı vardır: Olay kaynağı nesnesinde (myButton adında) addEventListener() yöntemini çağırma ve parametre olarak eventResponse işlevini iletme. a Dahili olarak myButton öğesi, olaylarının her birini dinleyen işlevlerin bir listesini içerir, böylece addEventListener() yöntemi çağrıldığında, myButton öğesi olay dinleyicileri listesinde eventResponse() işlevini saklar.