ActionScript
| ActionScript | |
|---|---|
| | |
| Dil sınıfı | Nesne yönelimli , prototip , zorunlu , komut dosyası oluşturma |
| Ortaya çıkan | 1998 |
| Yazar | Harry Grossman |
| geliştirici | makromedya |
| Serbest bırakmak | 3.0 |
| Tip sistemi | güçlü , statik |
| Başlıca Uygulamalar | Adobe Flash Player , Adobe AIR , Apache Flex |
| Etkilendi | JavaScript , Java |
| İnternet sitesi | adobe.com/devnet/actions... |
| ActionScript | |
|---|---|
| | |
| MIME türü | uygulama/ecmascript [1] |
| geliştirici | makromedya |
| En son sürüm |
|
| Biçim türü | fonksiyonel programlama dili , çok paradigmalı programlama dili ve programlama dili |
| İnternet sitesi | adobe.com/devnet/actions... |
ActionScript , Flash uygulamalarının içeriğine etkileşim, veri işleme ve daha fazlasını ekleyen ECMAScript lehçelerinden biri olan nesne yönelimli bir programlama dilidir . ActionScript, Flash Player'ın ayrılmaz bir parçası olan bir sanal makine (ActionScript Virtual Machine) tarafından yürütülür . ActionScript, SWF dosyasında bulunan bayt kodunda derlenir .
SWF dosyaları Flash Player tarafından yürütülür. Flash Player , bir web tarayıcısı eklentisi ve bağımsız yürütülebilir bir uygulama (bağımsız) olarak mevcuttur. İkinci durumda, Flash Player uygulaması SFX'e benzer bir swf dosyası ile birleştirildiğinde yürütülebilir dosyalar (projektör) oluşturmak mümkündür .
ActionScript ile etkileşimli multimedya uygulamaları, oyunlar , web siteleri ve daha fazlasını oluşturabilirsiniz.
ActionScript açık bir programlama dilidir, spesifikasyonu Adobe web sitesinde [2] herkese açıktır . Derleyici ( Apache Flex'in bir parçası olarak ) ve açık kaynaklı sanal makine ( Tamarin ) açık kaynaktır .
Geçmiş
ActionScript, bir dil olarak , ilk ActionScript programlanabilir ortamı olan Macromedia Flash'ın 5. sürümünün piyasaya sürülmesiyle ortaya çıktı . Dilin ilk yayınlanan sürümüne ActionScript 1.0 adı verildi. Flash Sürüm 6 (MX) ayrıca ActionScript 1.0'ı kullandı. 2004'te Macromedia, Flash 7'nin (MX 2004) piyasaya sürülmesiyle birlikte, sınıf tabanlı programlamanın yanı sıra güçlü tür çıkarımı sağlayan yeni bir ActionScript 2.0 sürümünü tanıttı. Yani, yeni anahtar kelimeler ortaya çıktı:
- sınıf (sınıf),
- arayüz (arayüz),
- genişletir (miras ayarı)
- erişim değiştiricileri: özel, genel;
- ve diğerleri.
Macromedia ayrıca cep telefonları altında programlama için Flash Lite dilinde bir değişiklik yayınladı.
ActionScript 1.0 bir prototip programlama dilidir . Yani, nesne yönelimli programlamanın üç ilkesini de tam olarak uygular.
ActionScript 2.0, ActionScript 1.0'ın bir eklentisidir. Tip denetimi ve sınıf hiyerarşisiyle çalışma, derleme zamanında yapılır ve bu, ActionScript 1.0 benzeri bayt kodunun üretilmesiyle sonuçlanır.
2006'da ActionScript 3.0 , Adobe Flex programlama ortamında ve daha sonra Adobe Flash 9'da yayınlandı.
ActionScript 3.0, ActionScript 2.0'a kıyasla niteliksel bir değişikliği temsil eder, yeni AVM 2.0 sanal makinesini kullanır ve eski biçimsel sınıf sözdizimini gerçek sınıf tabanlı Nesne Yönelimli Programlama ile değiştirir . ActionScript 3.0, ActionScript 1.0/2.0'a göre 700 kata kadar performans iyileştirmesi sağlar (bu yalnızca yönerge işlemedir, grafikler değildir). ActionScript 3.0, BitMap ile (önemli bir performans artışı sağlar: 10.000 kata kadar) ikili verilerle çalışmanıza olanak tanır. ActionScript 3.0, Java ve C# gibi programlama dillerine hız olarak yaklaştı . Performans kazancı, dinamik kod çevirisine ( JIT ) dayanmaktadır . Performanstaki bu artış sadece bazı veri türleri için mümkündür ve kodun özel bir organizasyonunu gerektirir [3] . Kural olarak kod miktarı birkaç kez artar [4] (AS1'e kıyasla).
| Oyuncu sürümleri | Yenilikler |
|---|---|
| 2 |
Bundan sonra şöyle bilinecek olan "eylemler" vardı:
|
| 3 | loadMovie()'nin görünümü; |
| dört | Komut dosyası uygulaması için tam desteğe sahip ilk sürüm. |
| 5 | ActionScript'in ilk sürümünün görünümü. ECMAScript tabanlı prototip programlama kullanıldı ve prosedürel ve nesne yönelimli programlama için tam destek sağlandı. |
| 6 |
|
| 7 |
|
| sekiz |
|
| 9 |
|
| on | |
| 10.2 |
|
| on bir |
|
| ActionScript sürümleri için destek: | |||
|---|---|---|---|
| Desteklenmiyor | AS1 | AS1, AS2 | AS1, AS2, AS3 |
Sözdizimi
ActionScript sözdizimi, ECMAScript belirtimine dayanır .
ActionScript 2.0
Bu kod, derinlikte (derinlik) 0, (0, 0) noktasında ve 100 x 100 piksel boyutunda yeni bir metin alanı oluşturur. Parametre , " Merhaba, dünyatext " dizesine eşittir . Kod pencere eylemine yazılmalıdır - çerçeve
createTextField ( "selamla" , 0 , 0 , 0 , 100 , 100 );
selamlamak . metin = "Merhaba dünya!" ;
AS2'de yazılmış bir sınıf örneği. Kodun ayrı bir .as dosyasına kaydedilmesi ve projenin .fla kaynağıyla aynı klasörde bulunması gerekir.
sınıf com . örnek . Greeter MovieClip'i genişletir { public function Greeter () { } public function onLoad () : Void { var txtHello : TextField = this . createTextField ( "txtHello" , 0 , 0 , 0 , 100 , 100 ); txtMerhaba . metin = "Merhaba Ako!" ; } }
ActionScript 3.0
Adobe Flex SDK (AS 3.0) tarafından derlenen kaynak kodunda :
paket {
flaşı içe aktar göster . Sprite ;
flaşı içe aktar metin . Metin Alanı ;
public class HelloWorld Sprite'ı genişletir { public function HelloWorld () { var txtHello : TextField = new TextField (); txtMerhaba . metin = "Merhaba dünya!" ; addChild ( txtMerhaba ); } }
MXML
MXML (XML uzantısı) ile yazılmış kod :
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx= "http://www.adobe.com/2006/mxml" xmlns= "*" layout= "dikey" createComplete
= "initApp()" >
<mx:Script>
<![CDATA[
public function initApp():void
{
// "Merhaba dünya!" "mainTxt" içine mesaj.
mainTxt.text = Greeter.sayHello();
}
]]>
</mx:Script>
<mx:Label id= "title" fontSize= "24" fontStyle= "bold" text= '"Merhaba dünya!" Örnek' />
<mx:TextArea id= "mainTxt" width= "250" />
</mx:Uygulama>
Hata ayıklayıcı
Hata ayıklayıcıya bir örnek. Dizeye dönüştürülebilen tüm verileri ekrana yazdırır (AS2'den itibaren):
trace ( "Merhaba dünya!" );
Yapı
ActionScript 2
Temel veri türleri
| Bir çeşit | Tanım |
|---|---|
| Sicim | Bir dize, bir dizi karakter, örneğin: "Merhaba, Dünya" |
| sayı | Herhangi bir sayısal değer, örneğin: 0, 0,5, 1150 |
| Boole | Boole değeri, "true" veya "false" değerlerini alabilir. |
| Nesne | Bir obje. Bir nesneye örnek olarak sınıflar, yöntemler, işlevler, parametreler vb. verilebilir. |
Karmaşık veri türleri
| Bir çeşit | Tanım |
|---|---|
| film klibi | Çerçeveler içeren bir grafik nesnesi. |
| Metin alanı | Dinamik veya giriş metin alanı. |
| buton | Buton. Esasen önceden tanımlanmış davranışa sahip bir Film Klibidir. 4 kareden oluşur: Yukarı, Üzeri, Aşağı ve Hit. |
| Tarih | Tarih/saat bilgilerini içeren bir nesne. |
| dizi | Veri dizisi. |
| XML | XML nesnesi |
| XMLDüğümü | XML düğümü |
| Yük Değişkenleri | HTTP POST ve HTTP GET kullanarak değişkenleri göndermek ve almak için kullanılır |
| ses | .MP3 formatında ses verilerini içerir |
| NetStream | Diğer formatlardaki ses verilerini içerir |
| NetConnection | 2 flash filmin aynı kapsamda etkileşime girmesine izin verir (örneğin, masaüstünde veya bir tarayıcı sekmesinde) |
| FilmKlipYükleyici | Swf videoları ve .jpg .png resimleri yükleme sınıfı |
| EventListener | Olay işleyicisi |
ActionScript 3
Temel veri türleri
( Adobe belgelerine bakın )
| Bir çeşit | Tanım |
|---|---|
| Boole | Boole değeri, "true" veya "false" değerlerini alabilir. |
| int | -2 31 ila 2 31 -1 aralığında tamsayı 32 bit sayısal değer . |
| uint | 0 ila 2 32 -1 aralığında tamsayı 32 bit sayısal değer . |
| sayı | -263 - 263-1 aralığında kesirli 64 bit sayısal değer . |
| hükümsüz | sıfır. Void için bağlantı. |
| Sicim | 16 bitlik karakter dizisi. Kodlama UTF-16'dır. |
| geçersiz | bir değere sahip veri türü tanımsızdır. Programcı, işlevin türünü "geri alınamaz" olarak belirtmek isterse kullanılır. |
Karmaşık veri türleri
( Adobe belgelerine bakın )
| Bir çeşit | Tanım |
|---|---|
| Nesne | Bir obje. OOP'nin anahtar sınıfı. Tüm AS3 sınıflarının temelidir. |
| dizi | Gevşek yazılmış bir dizi veri. Herhangi bir değer alabilir, örneğin: ['a', 5, new TextField()] |
| vektör | Kesin olarak yazılmış veri dizisi. Örneğin, Vector.<String> dizisi yalnızca ['a','b',' '] dize verilerini içerebilir. |
| Tarih | Tarih/saat bilgilerini içeren bir sınıf. |
| hata | Hataları içeren sınıf. |
| işlev | Ana sınıf. Bir örnek, herhangi bir AS3 yöntemidir. |
| Normalİfade | Düzenli ifadeler |
| XML | E4X tabanlı XML nesnesi (ECMA-357 standardı) |
| XMLListesi | XML sınıfında içerik aramak için Dizi tabanlı bir nesne. |
Paketler
ActionScript 3.0 (daha spesifik olarak, Flash Player 9 API - C++ ile yazılmış standart kitaplığın diyebilirsiniz) aşağıdaki paketlerde (C++ ad alanlarının analogları) düzenlenmiş 700'den fazla sınıftan oluşur:
| paket | Tanım |
|---|---|
| flash.erişilebilirlik | Flash içeriğine ve uygulamalarına erişimi desteklemek için sınıflar. |
| flash.görüntüleme | Flash Player'ın bir görüntüyü ekranda görüntülemek için kullandığı ana sınıflar. |
| flash.errors | yaygın olarak kullanılan hata işleme sınıfları. |
| flash.harici | Flash Player kapsayıcısıyla iletişim kurmak için kullanılan ExternalInterface sınıfını içerir. |
| flash.filtreler | raster görüntü filtreleriyle çalışmak için sınıflar. |
| flash.geom | BitmapData sınıfını ve görüntüleri önbelleğe alma yeteneğini desteklemek için noktalar, dikdörtgenler ve dönüşüm matrisleri gibi geometrik sınıflarla çalışmaya yönelik sınıflar. |
| flaş medya | multimedya ile çalışmak için sınıflar - örneğin, sesler ve video. |
| flash.net | ağ üzerinden veri gönderme ve alma sınıfları. Örneğin, URL istekleri ve Flash Remoting. |
| flash.printing | bir Flash filmin içeriğini yazdırmak için sınıflar. |
| flaş profil oluşturucu | hata ayıklama ve kod profilleme için kullanılan işlevler. |
| flash.system | güvenlik, çok dilli içerik vb. gibi işlevsellik düzeyinde sisteme erişim için sınıflar. |
| flaş metin | metinle çalışma sınıfları, biçimlendirmesi, boyutu, stili ve konumu. |
| flash.ui | fare ve klavye sınıfları gibi kullanıcı arabirimi sınıfları. |
| flash.utils | ikili verilerle çalışmak için ByteArray, zaman aralıklarını saymak için Zamanlayıcı vb. gibi ek sınıflar. |
| flash.xml | XML ile çalışmak için XML desteği ve tüm işlevleri sağlar. (Önceki AS sürümlerini desteklemek için gereklidir) |
Flex ortamında bir uygulama arayüzü oluşturmak için tasarlanmış sınıflardan oluşan mx.* paketleri ve Flash ortamı için fl.* paketleri de vardır .
Popüler ortamlar
- Adobe Flash , tarihsel olarak AS'yi destekleyen ilk ortamdır . Flash 5 ile başlayarak, kodu düzenleme (AS1) özelliğine sahip bir "İŞLEMLER" paneli vardı. Flash 6 için AS2 oluşturuldu. Flash 9 ile başlayarak AS3 desteği vardı.
- Adobe Flash Builder , masaüstü ve mobil cihazlar için RIA uygulamaları oluşturmaya yönelik bir geliştirme ortamıdır .
- Powerflasher FDT , modüler çapraz platform uygulamaları geliştirmek için ücretsiz bir IDE olan Eclipse'e dayalı, deneyimli flash programcıları tarafından tanınan bir ortamdır .
- FlashDevelop , Flash IDE, Flex SDK, MTASC veya haxe kullanarak Flash uygulamaları oluşturmanıza olanak tanıyan, C# ile yazılmış ücretsiz bir geliştirme ortamı ve düzenleyicisidir.
- CodeDrive , Microsoft Visual Studio tabanlı oldukça hızlı bir derleyiciye sahip bir geliştirme ortamı ve düzenleyicisidir.
- SWFTools , swf dosyalarıyla çalışmak için ücretsiz bir pakettir, paket ActionScript 3.0 derleyicisini (as3compile) içerir.
Notlar
- ↑ RFC 4329 (EcmaScript ile uyumlu sınır)
- ↑ Arşivlenmiş kopya (bağlantı mevcut değil) . Erişim tarihi: 9 Temmuz 2015. 27 Mart 2017 tarihinde kaynağından arşivlendi .
- ↑ Ted Patrick | Girişimci, baba ve etkileşimli yazılım geliştiricisi Arşivlendi 30 Eylül 2009.
- ↑ ActionScript 3.0'ı kullanmak için altı neden | Adobe Geliştirici Bağlantısı . Erişim tarihi: 9 Aralık 2009. Orijinalinden 10 Şubat 2009'da arşivlendi .