Flash oyunların oluşturulmasıyla ilgili resimli eğitim. E-okul macromedia flash mx iii kursu: macromedia flash mx modülü i'de programlama temelleri: nesne yönelimli programlama actionscript dili

  • 28.06.2019

dobe Flaş Tomilova Elena Anatolievna

ders 8 ... içinde programlama flaş

Plan

Tanıtım

Videolara etkileşim eklemek için, flaş dahili bir betik dili vardır ActionScript.

ActionScript - aracılığıyla bir programlama dilidir. flaş zaman bağımlılıkları, video klipler, düğmeler ve diğer nesneler için komutlar ve istekler gönderme.

ActionScript dili ECMA-262 standardı temelinde oluşturulmuş ve bu da dil temelinde derlenmiştir. JavaScript. Esasen ActionScript bir tür JavaScript ortamda çalışmak üzere uyarlanmış ve optimize edilmiş Flaş.

ile çok sık ActionScript aksi takdirde zor veya imkansız olacak hedeflere kolayca ulaşabilirsiniz. Olmadan ActionScript Flash'ın yeteneklerinin sadece küçük bir kısmı uygulanabilir. Örneğin, kullanıcı fare düğmesini tıklattıktan veya klavyede bir tuşa bastıktan sonra yanıt vermek gibi her türlü etkileşimi sağlamak için ActionScript gereklidir. Ayrıca ActionScript, zaman çizelgesinde belirli bir kareye atlamanın veya bir video klibi oynatmayı başlatmanın veya durdurmanın tek yoludur. Ancak bu basit örnekler, ActionScript'in çerçeveyi kullanan geliştiricilere sunduğu olanakların zenginliğini, esnekliğini ve sonsuzluğunu ortaya çıkarmaz. flaş ... ActionScript, Flash'a özgüdür ve en azından asgari düzeyde ustalık olmadan, yabancı bir ülkede yaşayan ve jestleri kullanarak iletişim kurmaya zorlanan bir kişi gibi olacaksınız. Bu durumda, gerçekten almak istediğinizden daha azıyla yetinmek zorunda kalacaksınız.

Tipik olarak kullanırken ActionScript ara eşlemelerden daha küçük ve daha kaliteli SWF dosyaları üretir. Diğer bir avantaj ise, bir video klibi çalışma alanında kesin olarak tanımlanmış bir konuma taşımak gibi çeşitli görevleri daha hassas bir şekilde gerçekleştirebilmenizdir.

Eylemleri kullanmak için ActionScript , programcı olmanıza gerek yok. Tabii ki, karmaşık betikler oluştururken programlama deneyimi faydalı olacaktır. Ancak, ActionScript yazarken önceden deneyim gerekli değildir. Eylemleri seçmek ve bunları film nesneleriyle ilişkilendirmek için Flash'ın yaratıcıları basit ve sezgisel bir arayüz sağladı - Eylemler paneli. Bu panel, komut dosyası kodunu girerken size çok zaman kazandıran bir ActionScript komutları kitaplığına erişmenizi sağlar.

Bu nedenle ActionScript, çevreye özgü, nesne yönelimli bir programlama dilidir. flaş ... Bu bağlamda, terimnesne odaklıkomut dosyalarının filmin nesneleri veya öğeleriyle ilişkilendirildiği anlamına gelir. Film oynatma sırasında bu nesneler belirli bir olay hakkında bir mesaj alırsa, komut dosyaları (veya eylemleri) yürütülür. Örneğin:

açık (basın) (

gotoAn d Play ("nextStop")

Bu senaryoda, basın olayı gerçekleştiğinde, oynatma çubuğu nextStop etiketli kareye atlar ve oynatma o noktadan devam eder. Başka bir deyişle, bir olay, filmin oynatma sırasını değiştiren bir eylemi tetikler.

Olaylar ve eylemler arasındaki ilişki, nesne yönelimli programlamanın merkezi bir özelliğidir. Komut dosyası oluşturma deneyiminiz yoksa veya programlamaya tamamen aşina değilseniz, bu formülasyon biraz kafanızı karıştırabilir. Ancak, cesaretiniz kırılmasın. Eylemlere, dilin sözdizimine ve yapısına aşina olduğunuzda ActionScript senin için daha az gizemli hale gelir.

ActionScript ile şunları yapabilirsiniz:

  • film oynatmanın ilerlemesini kontrol edin;
  • zaman çizelgesini kullanmadan programlı olarak animasyon oluşturun;
  • kullanıcıdan veri kabul etmek;
  • dosyalardan veri yükleyin;
  • sesleri yönetmek;
  • ... ve daha fazlası.

Adobe Flash 9.0'dan (CS3) itibaren ana programlama dilidir ActionScript 3.0 Ancak, ilk aşamada öğrenmek oldukça zordur ve bunu dikkate almayacağız.

Aynı zamanda, eski "basit" sürüm de desteklenir - dil ActionScript 2.0 , kullanacağız.

Yeni FLA dosyaları oluştururken her zaman belge türünü seçmeyi unutmayın. Flash Dosyası (ActionScript 2.0).

Bir ActionScript programına komut dosyası denir ... Filmin bazı öğeleriyle ilişkilendirilebilecek ayrı kod bloklarından oluşur:

  • ana kareler, bu kare her oynatıldığında kod yürütülür;
  • düğmeler veya klipler , kod, herhangi bir

Film komut dosyaları yazmak için eylemleri kullanmak için flaş , önce paneli incelemelisin Hareketler.

Eylemler panelini tanıma ( Hareketler)

Eylemler paneli (Eylemler), bir Flash filmi oynatılırken yürütülecek komut dosyaları oluşturmaya yönelik bir arabirimdir. Panelle çalışın Hareketler ) iki modda yapılabilir: Normal ve Uzman (Uzman). modunda Normal kullanıcı için bazı otomatik kod oluşturma işlevleri mevcuttur, bu nedenle yeni başlayanlar için bu mod önerilir. Normal modda çalışırken, uygun menü öğelerini seçip fare ile öğeleri sürükleyerek eylemler oluşturabilir ve bunları filme ekleyebilirsiniz. Uzman modu, deneyimli geliştiriciler için daha uygundur. Bu modda, panel Hareketler (Eylemler) daha çok, kullanıcının komut dosyası kodunu kendisinin girdiği bir metin düzenleyici penceresi gibidir.

Bir paneli açmak veya genişletmek için Hareketler , Aşağıdaki işlemlerden birini gerçekleştirin:

  • Pencere menüsünden (Pencere) öğeyi seç Hareketler;
  • tuşa basın< F9>.

Bundan sonra, ekranda bir panel görünecek veya genişletilecektir. Hareketler (Hareketler). Bu panel açıksa ancak başka bir pencere tarafından gizlenmişse öne doğru hareket edecektir.

ActionScript kitaplığına erişmenizi sağlayan bir açılır kategori listesi içerir. Uygun eylemi seçtikten sonra fare ile senaryo görüntüleme alanına sürükleyebilirsiniz.

Senaryo görüntüleme alanıgeçerli betiğin tüm ifade satırlarını görüntülemeye yarar.

filmin farklı unsurlarıyla ilişkili senaryolar arasında geçiş yapmanızı sağlar. Komut dosyası oluşturulabilen bir kapsamda bir öğe seçtiğinizde, Eylemler paneli otomatik olarak o öğeyle ilişkili komut dosyasını görüntülemeye geçer.


Nesne eylemleriyle çalışma

Flash filmlerinde eylemler iki tür nesneyle ilişkilendirilebilir: düğmeler ve klipler. İlişkili eylem, nesne bir olay tamamlama mesajı aldığında yürütülür. Düğmeler için bu mesajlar çoğunlukla fare veya klavyeden gelen sinyaller şeklinde gelir. Klip olay mesajları, klibin kendisinde meydana gelen herhangi bir değişiklik veya etkileşimin bir sonucu olarak görünür. Bir nesneye bir eylem bağladığınızda ve bir komut dosyası oluşturduğunuzda, her nesne için bir olay kaynağı tanımlarsınız. Eylemler, bu öğeler Flash filminin etkileşimli bileşenleri olduğundan, düğmeler ve kliplerle ilişkilendirilir. Nesneler olarak, film oynatma sırasında fare olaylarını, verileri ve diğer bilgi türlerini alabilirler. Nesnelerin oluşturduğu yapı ve bunlarla ilişkili eylemler, izleyicinin filmle nasıl etkileşime gireceğini belirleyecektir.

Düğmelerin ve kliplerin Flash kitaplığında şu şekilde depolandığını hatırlamak önemlidir. karakterler. Bir filmde bir karakter her kullanıldığında, aslında karakterin ayrı bir kopyası kullanılır veya kopyala.

Bir örnek, bir sembolün kopyası olarak düşünülebilir. Bir örneğe yapılan herhangi bir değişiklik, ana sembolü veya o sembolün diğer örneklerini hiçbir şekilde etkilemeyecektir. Aynı ilke, eylemleri bir sembolün bir örneğine bağlarken de geçerlidir. Bir sembol örneğiyle ilişkili herhangi bir eylem, yalnızca o örnek filmde kullanıldığında gerçekleştirilir. Bu, eylemlerin yalnızca bir sembolün belirli bir örneğiyle ilişkilendirildiği anlamına gelir.

Bununla birlikte, herhangi bir eylem, yalnızca filmde belirli bir tür olay meydana geldiğinde gerçekleştirilir. ActionScript'te (ve diğer birçok nesne yönelimli dilde), eylemler şunlar tarafından kontrol edilir:etkinlik sahipleri.

Eylemleri kullanma

Bir Flash filminde eylemleri kullanmak için onları bir nesneye veya çerçeveye bağlamanız gerekir. Süreç basittir ve bir nesne veya çerçeve seçmeyi, gerekli eylemi seçmeyi ve eylem için gerekli olabilecek özel parametreleri belirlemeyi içerir. Tüm eylemler, yalnızca ilişkili nesne sembolü örneğini veya eylemleri içeren tek bir çerçeveyi etkiler.

Eylemler, bir filmin oynatma şemasını, etkileşimini, akışını ve oynatma yönünü kontrol etmek için kullanılır. Kısacası, eylem, oynatma sırasını ve filmin kullanıcı girişine nasıl tepki vereceğini kesin olarak belirlemek için kullanılabilir. Eylem yoluyla flaş daha az bir animasyon programı gibi ve daha çok etkileşimli multimedya uygulamaları için bir geliştirme ortamı gibi.

Olasılıklardan bazıları flaş eylemleri kullanarak:

  • Karmaşık, etkileşimli navigasyon şemalarının oluşturulması.
  • Film oynatma kalitesini değiştirin.
  • İnternette barındırılan HTML belgeleriyle iletişim kurun ve sunucu uygulamalarıyla iletişim kurun.
  • Ana bilgisayar uygulamaları veya diğer Flash filmlerle iletişim.
  • Ana film içindeki diğer filmleri oynatır.

ActionScript ile Sahne Kontrol Özellikleri

Sahnelerin kullanımı, filmin içeriğinin genel organizasyonunu büyük ölçüde kolaylaştırır, belirtilen sahne oynatma sırası, doğrusal filmlerin oluşturulmasına yol açar. Ancak bir dizi avantajın yanı sıra (örneğin, aynı anda iki bağlantı oynatılamaz), bunun sahne oynatma sırasını değiştirmenin imkansızlığıyla ilgili kendi dezavantajları vardır. Sahneleri değiştirmek ve yeniden sıralamak için ActionScript'i (özellikle çerçeve eylemleri) kullanarak bu sorunu çözebilirsiniz.

Sahneleri kontrol edebileceğiniz bazı eylemler.

  • gitAndPlay () ... gotoAndPlay () eyleminin çağrılması, oynatma kafasının belirli bir sahneye ve kareye atlamasına neden olur. Film bu kareden devam ediyor.
  • gotoAndStop(). Bu eylem çağrıldığında belirli bir sahne ve kareye geçiş olur ve filmin oynatılması durur.
  • Oyna () ... Bu eylem, filmin durdurulduktan sonra oynatılmaya devam etmesini sağlar.
  • Dur () ... Bu eylemle, filmin oynatılmasını durdurabilirsiniz.

Fare olayları

Bir eylemi bir düğme örneğiyle ilişkilendirdiğinizde, Flash bu eyleme otomatik olarak bir fare olay işleyicisi atar. Bu işleyici, film oynatıldığında hangi olayın komut dosyasında yer alan eylemin (veya eylemlerin) yürütülmesini tetikleyeceğini belirler. Fare olay işleyicisi eylem tanımlıdırüzerinde ().

Fare olay işleyicisini kurmak veya değiştirmek için aşağıdaki adımları izleyin.

  1. Eylemi bağlamak istediğiniz veya olay işleyicisini değiştirmek istediğiniz düğmeyi seçin.
  2. Eylemler panelini açın ve aşağıdakilerden birini yapın:
    1. Bir fare olay işleyicisi kurmak istiyorsanız, eylemi seçinüzerinde () Eylemler - Film Kontrolü kategorisinden.
    2. Mevcut bir eylem için fare olay işleyicisini değiştirmek istiyorsanız, olayın adını içeren operatör satırını seçin ve parametreler görüntüleme alanında ilgili onay kutusunu seçin.
  3. Seçenekler alanı, çeşitli fare olay işleyicilerinin bir listesini görüntüler. Uygun işleyicinin adının yanındaki kutuyu işaretleyin ve betiğiniz otomatik olarak güncellenecektir. Şekil, komut dosyası görüntüleme alanında bir olay işleyici içeren bir ifade satırı seçildiğinde Eylemler panelinin görünümünü gösterir.

Dildeki fare olaylarının adları ve açıklamaları ActionScript:

  • Basmak. Basın etkinliği Fare işaretçisi düğme nesnesinin üzerindeyken düğmeye basıldığında bir eylem başlatır.
  • Serbest bırakmak. Yayın etkinliği fare işaretçisi düğme nesnesinin üzerindeyken düğme bırakıldığında eylemi tetikler. Bu olay varsayılan olarak kabul edilir.
  • Dışarıya Bırakın. Dışarıda Bırak olayı fare işaretçisi düğme nesnesinin üzerinde olmadığında düğme bırakıldığında eylemi tetikler.
  • Tuş Basın. Tuş Basma etkinliği fare ile alakalı değil Klavyede bu onay kutusunun solundaki kutuda belirtilen tuşa basıldığında bir işlem başlatır.
  • Yuvarlanmak. olayı devre dışı bırak fare işaretçisi bir düğme nesnesinin üzerine getirildiğinde bir eylem başlatır.
  • Açarak yaymak. Etkinliği kullanıma sunma fare işaretçisi düğme nesnesinin dışına yerleştirildiğinde bir eylemi tetikler.
  • Üstüne Sürükleyin. Etkinliğin üzerine sürükleyin ilk başta biraz ürkütücü görünebilir. Aslında, bir dizi farklı olayın bir kombinasyonunu içerir. Bir olayı kullanarak bir eylemi tetiklemek için sürüklemek , fare işaretçisini düğme nesnesinin üzerine getirmeli ve tıklatmalı, işaretçiyi nesnenin dışına taşımalı ve ardından işaretçiyi tekrar nesnenin üzerine getirmelisiniz.
  • dışarı sürükleyin ... Bir olayı kullanarak bir eylemi tetiklemek için dışarı sürüklemek tıklayın, fare imleciyle düğme nesnesinin üzerine tıklayın ve ardından imleci nesnenin dışına taşıyın.

21 numaralı pratik çalışma. Çerçevenin eylemleriyle çalışmak

  1. Yeni bir dosya oluşturun - Flaş belge.
  2. 1. Aşamada bir animasyon oluşturun.
  3. Sahne 2'yi ekleyin ve bu sahneyi canlandırın.
  4. Sahne 1'e gidin, bir katman ekleyin ve yazınaksiyon sahne 2'ye git.

  1. 2. Aşamada veya projenizin son sahnesinde, üzerine tıklayarak Sahne 1'i açacak bir düğme koyun.

  1. Dosyayı Surname_21.fla olarak kaydedin.
  2. .swf formatında yayınlayın
  3. Ve bir arşivde gönderin.


22 numaralı pratik çalışma. Bir senaryoda birkaç eylem

  1. Yeni bir dosya oluşturun - Flaş belge.
  2. Katman 1'de, ilk kareye komutu yazın Dur () , böylece animasyon başlamaz, yani. hiçbir işlem yapılmadı.

  1. 2. Katman Oluşturun. 2. kareden 31. kareye kadar, fare düğmesine basıldığında oynatılacak bir animasyon oluşturun.

  1. 31. karede, herhangi bir eylemin gerçekleşmemesi için animasyonu duracak şekilde ayarlayın.
  2. Katman 3'ü ekleyin. 32. kareden 62. kareye, düğme bırakıldığında canlandırın.

  1. 4. Katmanı ekleyin ve üzerine bir düğme yerleştirin. Ve eylemleri yazın:

açık (basın) (

GotoAndPlay (2); // butona basıldığında 2. kareden başlayarak eylemler gerçekleşecektir.

açık (yayın) (

gotoAndPlay (32); // düğme bırakıldığında 32. kareden başlayarak eylemler gerçekleşecektir

  1. Programı test edin.
  2. Dosyayı Surname_22.fla olarak kaydedin.
  3. .swf formatında yayınlayın
  4. Ve bir arşivde gönderin.

Temel Film Oynatma Kontrolleri Oluşturmak için Eylemleri Kullanma

Eylemleri filmin çeşitli unsurlarına bağlama sürecini zaten ele aldık. Bu bölümde, ActionScript'teki en önemli ve faydalı eylemlere genel bir bakış sunuyoruz. Bu temel eylemler, alt kategorilerinde göründükleri sırayla listelenir ( Adobe Flash CS 3 Profesyonel).

Film Klibi Kontrolü Alt Kategorisi

  • setÖzellik () ... Klip niteliklerini ayarlama: boyut, konum vb.
  • onClipEvent () ... Eylemi tetikleyecek bir klip olay işleyicisi tanımlar.
  • üzerinde () ... Bir tür eylemi başlatacak fare olayı için bir işleyici tanımlar.

Zaman Çizelgesi Kontrolü Alt Kategorisi

  • gitAndPlay () ... Belirtilen kareye veya sahneye gidin ve filmi o noktadan oynatın.
  • gitAndStop () ... Belirtilen kareye veya sahneye gidin ve filmi durdurun.
  • Oyna () ... Bir film oyna.
  • Dur () ... Filmi durdur.
  • stopAllSounds () ... Filmin müziğini sessize alın.

Tarayıcı / Ağ Alt Kategorisi

  • fskomutu () ... Flash Player uygulamasını kontrol etme.
  • getURL () ... Belirtilen URL ile bir film çağrılıyor.
  • boşaltmakFilm () ... Diğer Flash filmleri yükleniyor.

URL'ye bağlantı

Eyleme göre getURL () URL'ye doğrudan Flash filminden bağlanabilirsiniz. Bir URL'ye bağlanmak iki şey yapar. İlk olarak, bir Web bağlantısı oluşturmak ve belirli bir URL ile eşleşen bir kaynaktan bir tarayıcı penceresine bilgi yüklemek için Flash'ı kullanabilirsiniz. İkinci olarak, belirli bir URL'de bulunan bir kaynağa veri iletmek için bir eylem kullanılabilir.

Bir eylemi bağlamak için getURL () , aşağıdakileri yapmanız gerekir.

  1. Eylemi ilişkilendirmek istediğiniz düğmeyi, çerçeveyi veya klip örneğini seçin.
  2. Eylemler panelini açın.
  3. eleman alanında ActionScript alt kategoriyi aç Tarayıcı / Ağ ve eylem simgesine çift tıklayın getURL(). GetURL () eylemi belirtilmesi gereken üç parametreye sahiptir: URL, Pencere ve Değişkenler (Değişkenler). URL'nin konumunu açıklayan bir ifade kullanmak da mümkündür. Bunu yapmak için kutuyu işaretlemeniz gerekir.İfade (İfade) URL alanının sağında.
  4. URL alanına, kaynağa giden mutlak veya göreli yolu girmelisiniz. Mutlak yol, tam URL'yi içerir, örneğin http: // www. o - n. ru ... Göreli yol, dosyanın Flash filminin kaydedildiği dosya yapısı içindeki konumu hakkında bilgi içerir, örneğin: geçerli klasör / klasör / klasör ().
  5. Açılır liste pencere URL'nin gösterdiği belgeyi tarayıcının hangi pencerede yükleyeceğini belirlemenizi sağlar. Bir çerçeve veya pencere için belirli bir ad girebilir, pencerenin konumunu açıklayan bir ifade girebilir veya açılır listeden aşağıdaki öğelerden birini seçebilirsiniz.
  • _kendi ... Belge, filmin o anda oynatıldığı geçerli pencereye yüklenir.
  • _boşluk ... Belge yeni bir pencereye yüklenir.
  • _parent ... Bu öğe, geçerli pencereyi gösterir ve yalnızca filmin o anda oynatıldığı kareyi değiştirmenize olanak tanır.
  • _Tepe ... Bu öğe, filminiz bir karede oynatılırken kullanışlıdır ve URL'nin gösterdiği yeni belge tüm tarayıcı penceresini doldurmalıdır.
  1. Değişkenler açılır listesi, değişkenleri bağladığınız URL'ye iletmek için kullanılır.
  • Gönderme (aktarmayın). Bu öğe varsayılan olarak ayarlanır ve veri alışverişine gerek olmadığında kullanılır.
  • GET Kullanarak Gönder (GET yöntemini kullanarak geçin). Listenin bu öğesi, birkaç değişkeni aktarmanın gerekli olduğu ve iletilen veri miktarının az olduğu durumlarda seçilir.
  • Gönderiyi Kullanarak Gönder (POST yöntemini kullanarak gönderin). Listenin bu öğesi, büyük miktarda bilgi aktarmanın gerekli olduğu durumlarda seçilir.

Pratik çalışma No. 23. Resimlere link koymak

  1. Yeni bir dosya oluşturun - Flaş belge.
  2. Gelecekteki düğmeler için gerekli tüm görüntüleri içe aktarın ( Ctrl + R).
  3. İlk resmi vurgulayın ve düğmesine basın. F8 ... Bir düğmeye dönüştürün.

  1. Film klibine çift tıklayın.
  2. Şimdi Üzerinde başlıklı çerçeveye tıklayın ve F6 tuşuna basarak bir çerçeve ekleyin.

  1. Yeni bir katman oluşturun ve Üzerinde başlıklı çerçeveye tıklayın ve bir çerçeve ekleyin (F6). Ardından, resmin ana hatlarını çizmek için Dikdörtgen Aracını (R) kullanın.

  1. Ana sahneye dönün ve seçim aracını (V) kullanarak düğmeye tıklayın, F9'a basın ve aşağıdaki AS kodunu girin:

  1. Diğer resimler için önceki tüm adımları tekrarlayın.
  2. Programı test edin.
  3. Dosyayı Surname_23.fla olarak kaydedin.
  4. .swf formatında yayınlayın
  5. Ve bir arşivde gönderin.

Egzersiz yapmak

Dersteki materyali kullanarak ücretsiz bir konuda bir sunum oluşturun.

Edebiyat

  1. Hurwitz, Michael, McCabe,Laura. Macromedia Flash MX'i kullanma. Özel baskı.: Per. İngilizceden - M.: Yayınevi "Williams", 2003. - 704 s.: hasta. - Paralel. baştankara. İngilizce
  2. Watroll E., Gerber N. Etkili çalışma: Flaş MX ... SPb.: Peter; Kiev: DHV, 2003 .-- 720 s.: hasta.
  3. http://www.interface.ru/

SAYFA 1

ActionScript öğe alanı

Açılır senaryo listesi

Senaryo görüntüleme alanı

ile çalışırsan flaş ve şimdiye kadar sadece çizim ve basit animasyon, videolar veya afişler oluşturmak için kullanın, ancak programlamaya hiç dahil olmadınız, o zaman muhtemelen bu tarafı gerçekten bilmek istediniz. flaş.

Ne ActionScript? içine nasıl kod yazabilirsin flaş-e? tam olarak nasıl programlayabilirim flaş? Bunun için kullanılacak en iyi araçlar nelerdir? Bu makale benzer soruların yanıtlarını sağlar.

Bu makale, altında programlama için iyi bir başlangıç ​​kılavuzu olarak hizmet edecektir. flaşüzerinde ActionScript 3.0 ve bunun için en iyi araçları seçmenize yardımcı olacaktır.

ActionScript nedir?

Eylem Komut Dosyası Flash uygulamalarının içeriğine etkileşim, veri işleme ve daha fazlasını ekleyen nesne yönelimli bir programlama dilidir.

Action Script ile etkileşimli multimedya uygulamaları, oyunlar ve web siteleri oluşturabilirsiniz.

Bir grafik geliştirme ortamıyla çalışıyorsanız Flaş IDE(örneğin, Adobe Flash Professional CS5), ancak program kodunu nereye yazabileceğinizle hiç ilgilenmediniz, o zaman muhtemelen "Bu AS3 nerede saklanıyor?"

Flash IDE'de AS3.

Yeni bir proje oluşturalım File - New - ActionScript 3.0 (Şekil 1).

Şekil 1. Yeni bir proje oluşturma AS3.

Bir katmanda boş bir çerçeve ile boş bir sahne belirir. Şimdi bir çerçeve seçip tıklayabilirsiniz. F9, böylece bu çerçevenin program kodunu düzenleme alanını içeren "Eylemler" penceresini açın.

Açılan pencereye aşağıdaki kodu yazalım:

ActionScript

var s: String = "onun benim AS3 kod izlemem!"; iz (ler);

var s: String = "onun benim AS3 kod izlemem!" ;

iz (ler);

Pirinç. 2. Flash IDE düzenleyicisinde yazılan kod.

Artık USB flash sürücüyü çalıştırabilirsiniz ( Ctrl + Enter). Bu kod bir değişken oluşturur s tip Sicim(string) ve ona bir başlangıç ​​değeri atar - string " benim AS3 kod izim!". Ayrıca, fonksiyon iz () argümanı yeni oluşturulan değişken olan, verilen dize (veya daha doğrusu değişkenin değeri) s) sekmesinde görüntülenir çıktı IDE arayüzünde varsayılan olarak sekmenin yanında bulunan zaman çizelgesi.


Böylece, Flash uygulamasının herhangi bir karesi için (F9'da) kod düzenleyicilerini açıp kapatabilirsiniz.

Görünüşe göre resim fena değil - animasyonlarla farklı nesneler oluşturabilirsiniz ( Film Klibi) veya statik resimler ( Sprite) ve her nesnenin çerçeveleri olacaktır ve her çerçevede istediğiniz herhangi bir şeyi programlayabilirsiniz. Rahat ve esnek görünüyor. Ama bu sadece ilk bakışta. Düzinelerce çerçeveli düzinelerce nesneniz olduğunu ve hepsinin farklı veya benzer bir davranış mantığını bir kodla tanımlaması gerektiğini hayal edin. İkinci durumda (benzer mantık), bu genellikle çerçeveden çerçeveye kopyalamak için bile işkence edilebilecek yüzlerce benzer kod satırı anlamına gelir. Geliştirme sürecinde bir şeyi değiştirmeniz gerektiğini hayal edin. Hayır - durum böyle değil! AS3 dili bu kaos için tasarlanmamıştı!

Ek olarak, Flash IDE kod düzenleyicisi ile çalışıyorsanız ve örneğin başka bir programlama ortamında (Delphi, Visual Studio) çalıştıysanız, bu düzenleyicinin, en hafif tabirle, rahatsızlığı ve eksikliği nedeniyle iç karartıcı olduğunu hemen fark edeceksiniz. .

Ne yapmalı, soruyorsun? Üçüncü taraf kod düzenleyicilerini arayın.

Alternatif kod editörleri.

Windows için en iyi seçenek FlashDevelop(FD). En son sürümü siteden indirebilirsiniz.

iOS için iyi bir alternatif FDT... Ofiste tanışabilirsiniz. alan.

FlashDevelop.

Çünkü Şu anda esas olarak Windows'ta yaşıyorum, o zaman size bu işletim sisteminin düzenleyicisinden bahsedeceğim. İleride FDT konusunda deneyim kazandığımda bu konuda da yazacağım.

Kurulumda zor bir şey yok, ofisten en son sürümü indirin. sitesi ve yükleyin. Düzenleyici tamamen ücretsizdir ve derleme için Flex SDK'yı kullanır. Standart bir kurulum sırasında FD, ikincisinin kurulumuyla ilgilenecektir. FD için kendiniz yüklemeniz gereken tek şey Java.

FD, aralarında kısayol tuşları, iyi otomatik değiştirme, sınıf şablonları, kendi şablonlarınızı oluşturma ve mevcut olanları düzenleme yeteneği gibi birçok kolaylık ve özelliğe sahiptir.

Kurulumdan sonra yeni bir proje oluşturabilirsiniz (Proje - Yeni Proje ...), Şekil l'de gösterildiği gibi yeni bir proje iletişim kutusu açılacaktır. 4.


Gördüğünüz gibi, FD sadece AS3 projeleri oluşturmanıza izin vermiyor. Ama şimdi AS3 projesiyle ilgileniyoruz, bir proje için bir şablon seçmeyi tercih ediyorum. ön yükleyici-th, üzerinde seçilen pilav. 4... Ardından, projenin adını girin (alan İsim) ve proje dizinini atayın (alan Konum) bir onay işareti varsa "Proje için dizin oluştur", ardından Konum dizininde proje adına (Ad) sahip bir klasör oluşturulur ve proje dosyaları zaten buna yerleştirilir, onay kutusu işaretli değilse dosyalar belirtilen Konum dizinine yerleştirilir.

Projeyi oluşturduktan sonra, sağ tarafta projenin dosya ve klasörlerinin yapısını göreceksiniz, klasörü açın kaynak ve dosyaya çift tıklayın ana.as... Bundan sonra, kodu yaklaşık olarak Şekil 1'deki ile aynı şekilde gözlemlemelisiniz. 5.


Örneğin, denediğimizle ilgili bir kod yazmaya çalışalım. Flaş IDE... Yorum satırından sonra yazabilirsiniz "// giriş noktası" dan beri bu, sahnenin zaten yaratıldığı noktadır. hadi bir komut yazalım iz (), incirde. 5. Bunu yapmak için kendime zaten izin verdim:]

Artık projeyi derleyebilirsiniz ( F8) veya hemen test için çalıştırın ( F5), pencerede çalıştırdıktan sonra Çıktı fonksiyonun sonucunu göreceksiniz iz ()- hat çıkışı.

Takım sonuçları iz () yalnızca kodun derlendiği ve çalıştırıldığı IDE altından uygulamanın başlatılması sırasında gözlemlenebilir.
.swf dosyasını bir tarayıcıda veya normal bir flash oynatıcıda çalıştırdığınızda, sonuç (yani çıktı penceresinin görüntülenmesi) hiç kimse tarafından görülmeyecektir.

Şimdi, AS3'te ilk projenizi yapmak için sabırsızlandığınızdan eminim! Ve bunun için dilin kendisini öğrenmeye başlamanız gerekir.

AS3 dilini öğrenmek.

Tabii ki, AS3 hakkında çok şey yazabilirsiniz, ancak özellikle her şey zaten yazıldığı için kitaplardan daha iyi yazmam pek mümkün değil, bu yüzden benim işim deneyimlerime dayanarak en iyi literatürü tavsiye etmek.

En iyi kitap: Colin Mook — .

Bilgiye güzel bir ek: Joey Lott — .

Ben de bir zamanlar böyle bir kitap okudum: zengin alışveriş-. Çok fazla yazılı ve detaylı olmasa da elde un yoksa yeni başlayanlar için yeterli olacaktır.

Bu kitaplar başlamanız için yeterli! Okuyun ve çalışın, çalışın ve okuyun. Oturup bu kitapları baştan sona okumaya gerek yok. okuma sürecinde bilgiyi pratikle pekiştirmek önemlidir ve kendiniz en kısa sürede bir şeyler yapmaktan memnuniyet duyacaksınız:]

İnternette hızlı bir belge araması sırasında ofis çok yardımcı olur. gelen belgeler.

Daha fazla gelişme, OOP ve tasarım kalıplarının iyi anlaşılması için (ki bu iyi bir OOP yapısı için çok önemlidir), aşağıdaki kitap sizin için vazgeçilmez olacaktır: William Sanders, Chandima Kumaranatung — .

Bu sitede ayrıca AS3 programlamanın benim deneyimlerimle kazandığım pek çok yönünü bulacaksınız.

Veya şu makaleyi okuyarak ilk ön yükleyicinizi yapmaya çalışın: Kendin Yap Ön Yükleyici.

En iyi ve başarılı projeler!

flaş programlama

öğretmen ve öğrenci için seçmeli ders programı ve didaktik el kitabı

Kurs programı. 1

1. Giriş: 1

2. Kurs konusu: 2

3. Edebiyat: 2

Öğretmen ve öğrenci için didaktik rehber. 2

1. Giriş, "çerçeve eylemi" penceresi. 2

2. Değişkenler. 4

3. Giriş-çıkış alanları. 5

4. Koşullu operatör. sekiz

5. "Parametreli" döngüler ve "güle güle" döngüleri. on bir

7. Nesneye yönelik programlama. 17

8. Özelliklerin programlı değişimi. 19

9. Üç çerçeveli döngüler. Yazılım animasyonu. 22

10. "Etkileşimli Oyun - Atış Poligonu" projesi. 24

Kurs programı

1. Giriş:

Macromedia Flash yetenekleriyle şaşırtıyor. Çizim ve animasyon için gelişmiş araçlara ek olarak, Flash'ta yerleşik bir programlama dili Action Script bulunur. Bu dilde uzmanlaşmak, yalnızca programlanmış animasyon, Flash oyunlar ve etkileşimli web sayfaları oluşturmanıza izin vermekle kalmaz, aynı zamanda nesne yönelimli programlama teknolojileri (bundan sonra OOP olarak anılacaktır) hakkında bilgi sağlar.

Flash'ın yaratıcılarının hazırlıksız bir kullanıcı için bile programlamayı basitleştirmeye çalışmasına rağmen, bu araçlarda ustalaşmak çok zaman alıyor. Bu ders seçmeli, öğrenciler lisede daha bilinçli bir profil seçimi için seçiyorlar. Programın ayrıntılı bir çalışması, ciddi projelerin uygulanması, özel derslerin (örneğin, "Web programlama", "Web tasarımı", "Nesneye yönelik programlama" vb.) -ders çalışma. Flash Programlama kursu, Flash animasyonuna ve programlamanın temellerine zaten aşina olan 9. sınıf öğrencilerine yöneliktir. Seçmeli bir dersin parçası olarak, Flash'ta programlama, OOP teknolojisinin temellerine hakim olmak ve basit projeler gerçekleştirmek oldukça mümkündür. Kurs, Flash hesap makinesi projesi ve etkileşimli oyun projesi dahil olmak üzere 8 proje içermektedir. Kurs, öğretmen ve öğrenci için didaktik bir el kitabı ile donatılmıştır.

Kursun amacı:

Öğrencilerin ilgisini çekmek, etkileşimli uygulamalar oluşturmak için modern yazılım araçlarının yeteneklerini göstermek; nesne yönelimli programlamanın temelleri hakkında bilgi sahibi olmak; Macromedia Flash hakkında derin bilgi.

Kursun amacı:

Nesneye yönelik programlama teknolojisini tanıtmak; etkileşimli uygulamalar oluşturmak için Action Script kullanımını göstermek; iki proje oluşturun: bir Flash hesap makinesi ve etkileşimli bir çekim galerisi.

Öğrencilerin bilgisi için gereksinimler:

Bu kursu başarıyla tamamlamak için öğrencilerin temel Flash bilgisine sahip olmaları gerekir: basit görüntüler oluşturma, kitaplık sembolleriyle çalışma, ana kareler hakkında fikir sahibi olma, Flash animasyonu, Action Script'te temel eylemler.

Bu dersi başarıyla tamamlamak için öğrencilerin temel programlama becerilerine sahip olmaları gerekir: algoritma, program, değişken gibi ana kavramlar ve temel algoritmik yapıları bilme.

Bilgisayar gereksinimleri:

Macromedia Flash MX (veya üstü) yüklü bilgisayar.

Flash Programlama kursu 12 saattir.

2. Kurs konuları:

Ders

saat sayısı

Flash'ın tekrarı.

I/O alanları, algoritmik yapılar

alan türleri (statik, dinamik, çıktı); değişkenlerin bildirilmesi, sembolik ve sayısal değişkenler, bir düğmeye kod ekleme, koşullu operatör, parametreli döngü, bay bay, bunların Flash'ta uygulanması.

tipik görevler: bir uçuşun maliyetini hesaplamak, ikinci dereceden bir denklemi çözmek, bir kuvvete yükseltmek, bir dizi toplamının bir dizi elemanını bulmak

proje: Flash hesap makinesi

OOP'nin temel kavramları

nesne, özellikler, yöntem, olay

Özellikleri programlı olarak değiştirin. Yazılım animasyonu.

değişken özellikler; sembollerin oluşturulması, isimleri; sembollerin özelliklerini değiştirme, Flash'ta program kodunu yürütmenin özellikleri, üç çerçeveli döngüler.

tipik görevler: değişken özelliklere sahip bir nesne oluşturma (uygun tuşlara basarak). hareketli bir nesne oluşturmak.

proje: Etkileşimli oyun Tyr.

3. Edebiyat:

Beluntsov V. Macromedia Flash: İnternette Animasyon. "DESS Com", Moskova 2001. Flash MX 2004 sitesi www. *****

Öğretmen ve öğrenci için didaktik rehber

1. Giriş, "Eylem" paleti

Macromedia Flash'ın kendi Action Script programlama dili vardır. Flash filmleri interaktif hale getirmenizi sağlar. Dilin yetenekleri, ciddi programlar oluşturmanıza izin verecek kadar büyüktür. Action Script, bağımsız bir programlama dili değildir. Bu bir dizi komut dosyasıdır - yalnızca bir Flash filminin içinde "yaşayan" kod parçalarıdır, ancak bu, tam teşekküllü programlar oluşturmanızı engellemez.

Action Script'in olay güdümlü bir dil olduğu, yani bir olay meydana geldiğinde betiğin yürütülmesinin gerçekleşeceği unutulmamalıdır. Böyle bir olay belirli bir ana karenin elde edilmesi olabilir, örneğin son ana karede stop() komutunu ekliyoruz. Bunun sadece bir komut olmasına rağmen, bu, son kareye ulaşıldığında yürütülecek tam teşekküllü bir komut dosyasıdır - video duracaktır. Başka bir olay, ekrandaki bir düğmeye fare tıklaması veya klavyede bir tuşa basılması olabilir.

Program kodunu eklemek için scripti eklemek istediğiniz keyframe'i seçmeniz (veya oluşturulan butonu seçmeniz) ve F9 tuşuna basmanız gerekmektedir (Şekil 1).

Pirinç. 1 Eylem paneli.

Eylem penceresinin ana öğelerine bir göz atalım. Pencerenin sol tarafı, farenin sol tuşu ile üzerlerine çift tıklayarak seçebileceğiniz bir komut listesiyle doludur. Tüm komutlar ve birçoğu vardır, "Global Function", "Global Properties" vb. on iki blok halinde gruplandırılmıştır. Komuta tıkladıktan sonra pencerenin sağ tarafına aktarılır. Program kodunu üretir. Gereksiz komutları silebilir (Delete tuşu) veya imleç tuşları veya butonlar ile komut dosyasında yukarı ve aşağı hareket ettirebilirsiniz. Elbette, taşınacak veya silinecek komutun önce vurgulanması gerekir. Pencerenin alt kısmı, her bir özel komutun değiştirilebilir parametreleri için verilmiştir. Örneğin, gotoAndPlay() atlama komutunda, bu satıra ulaşıldığında hangi kareye atlanacağını belirtmeniz gerekir. Bunu yapmak için parantez içinde gerekli çerçeve numarasını çevirmeniz gerekir.

Program kodu yazarken, kodu manuel olarak yazmak daha uygun ve hızlıdır. ActionScript'in yazdığınız komutların durumuna odaklandığı unutulmamalıdır. Bu, GoToandPlay() komutunun yanlış olacağı anlamına gelir.

Kodu çalıştırmak ve elde edilen sonucu görüntülemek için video görüntüleme moduna girmeniz gerektiğini eklemek için kalır, bunu yapmak için Ctrl-Enter tuş bileşimine basın.

Soruları gözden geçirin:

Senaryo nedir? Flash'ta hangi olaylar kod tarafından tetiklenir? Eylem paletini nasıl çağırırım? Eylem paletinin öğeleri nelerdir? Bir Flash filmden yürütülebilir dosya nasıl oluşturulur?

2. Değişkenler

Herhangi bir programlama dilinin temel kavramlarından biri değişkendir. Okuyucunun bir değişken kavramına aşina olduğu varsayılır, bu yüzden Flash'ta nasıl uygulandığına bakalım.

Diyelim ki iki sayı eklemek istiyoruz. Bu basit aritmetik işlemi gerçekleştirmek için, ilk ana karede bir düğme oluşturun: bir dikdörtgen çizin, bir imza yapın ve ardından ortaya çıkan görüntüyü bir sembole dönüştürün (menü ekle - sembole dönüştür, sembolün davranışını ayarlamayı unutmayın) - buton). Sonuç olarak, bir fare tıklamasına yanıt verebilecek bir nesne ortaya çıktı, klip görüntüleme moduna girerek bunu doğrulamak kolaydır.

İlk sayı x1 değişkeninde, ikincisi ise x2 değişkeninde saklanacaktır. Sonucun summa adı altında kaydedilmesine ve ekranda görüntülenmesine izin verin. Bir çıktı alanı oluşturmak için (bir sonraki derste bununla ilgili daha fazla bilgi), metin aracına tıklayın ve bir ekran alanı - gelecekteki metin alanı - seçmek için kullanın. Ardından kayan Sembol paneline (menü penceresi - paneller - sembol) gidin ve Metin parametreleri sekmesinde Stutic Text metin alanının türünü Dimamic Text olarak değiştirin (Şekil 2). Değişken - summa alanının adını belirttiğinizden emin olun. Ayrıca, alanı ekranda görünür hale getirmek için kutu / arka plan onay kutusunu işaretleyin.

Pirinç. 2 Değerleri görüntülemek için dinamik bir alan oluşturma.

Şimdi kodu yaptığımız buton ile eşleştirelim. Düğmeyi seçin ve F9'a basın.

Pencerenin sol kısmında, İşlemler - Değişkeni Ayarla bloğunu seçin. Pencerenin alt kısmında parametreleri ayarlayın: değişken - x1, değer 5. Dikkat edin, değer alanının yanında geçiş parametresi ifadesi bulunur. Seçilmelidir, aksi takdirde x1 değişkeni 5 sayısını ve sembolü saklayacaktır. Değişken tipi bu şekilde ayarlanır. AS'de anladığınız gibi, Turbo Pascal dilinde alışılmış olduğu gibi türleri önceden tanımlamak için yalnızca iki tür değişken vardır, sayısal ve dize. Sırasıyla ikinci değişken için de aynısını yapın, adı x2 ve değeri 8'dir. Üçüncü satırı eklemeliyiz - üçüncü değişkeni, adını ayarlayın: summa (çıktı alanının adıyla aynı), değer: x1 + x2, elbette, seçili öğe ifadesi.

Bu işlemler sonucunda sağ tarafta şekildeki (Şekil 3) kod karşınıza çıkıyor. Lütfen her komutun noktalı virgülle ayrıldığını, bunun Flash tarafından otomatik olarak yapıldığını unutmayın. İlk olarak on (serbest bırak) komutu var, bu kodun fare butonu butondan bırakıldığında çalışmaya başlayacağını gösteriyor. Bu kod bir yazılım tuşuyla eşlendiğinden, bu komut otomatik olarak eklenir. Bundan sonra, küme parantezlerinde olay gerçekleştiğinde yürütülmesi gereken kod vardır.

Bu kadar! Her şeyi doğru yaptıysanız, video izleme moduna geçtikten ve düğmenize bastıktan sonra, çıktı alanında 13 sayısı belirir.

Soruları gözden geçirin:

Metin veya sayısal bilgileri görüntülemek için bir değişkenin adı nasıl ayarlanır? Flash'ta ne tür değişkenler kullanılır? Oluşturulan değişkenin sayısal olduğu nasıl gösterilir? Flash'ta nasıl bir düğme oluşturabilirim ve bunun için nasıl kod eklerim? Komut dosyasının başındaki on (release) komutu ne anlama geliyor?

3. G / Ç alanları

Yeni bir programlama dilinin öğrenilmesi, başlangıç ​​değerlerinin girildiği programların yazılması ile başlar, daha sonra bunlarla bazı aritmetik dönüşümler yapılır ve sonuç ekranda görüntülenir. Flash, metni ekranda görüntülemek için metin alanlarını kullanır. Bir metin kutusu oluşturmak için Metin aracını (araç çubuğunda) seçmeniz ve dersleri metin eklemeniz gereken yere koymanız gerekir, metin bloğunu "çizirsiniz" (Şekil 4).

Pirinç. 4 Bir metin kutusu oluşturun.

Sonuç olarak, herhangi bir metni yazabileceğiniz statik bir metin alanınız olur. Toplamda üç tür metin alanı vardır: statik, dinamik ve çıktı alanları. Alan tipi, "parametreler" sekmesi, sembol paneli kullanılarak ayarlanır (önceki bölüme bakın). Her alanın amacını ve ayarlarını daha ayrıntılı olarak ele alalım:

Statik alan, Flash sahnesindeki etiketleri görüntülemek için kullanılır. Adından da anlaşılacağı gibi, bu alan programlı olarak değiştirilemez. Kullanabileceğiniz tek şey yazı tipini, boyutu, rengi vb. ayarlamaktır. Yazarken, bu alan otomatik olarak genişler ve girilen metni birkaç satırda görüntüler. Bu durumda, metin kutusunun genişliği, metin bloğunu "çizirken" ayarladığınızla aynı kalacaktır. Bunu değiştirmek için, Metin aracıyla bloğu seçmeniz ve metin bloğunun sağ üst işaretçisini hareket ettirmeniz gerekir.

Şekil 5

Videonuzun yürütülmesi sırasında bilgilerin güncellenebileceği çıktı alanları oluşturmak için dinamik bir alan kullanılır. Bir metin bloğuna programlı olarak atıfta bulunulabilmesi için, "değişken" alanında belirtilen bir isme sahip olması gerekir (Şekil 5). Değişken isimleri olarak sadece Latin karakterlerini kullanmanızı, boşluk bırakmamanızı tavsiye ederim. Aynı pencerede Çerçeve / Arka Plan özelliğini etkinleştirebilirsiniz. Şimdi sayfada, görüntülenen metnin görüneceği bir çerçeve görünecek, bu çok uygundur. Varsayılan olarak Tek Satır seçili olan birleşik giriş kutusu, metnin bir satırda mı yoksa birkaç satırda mı görüntüleneceğini belirlemenizi sağlar (Çok Satır değeri). "Seçilebilir" onay kutusu, varsayılan olarak açıktır, kullanıcının, örneğin panoya kopyalamak için bu alandan değerleri seçip seçemeyeceğini belirler. Herhangi bir alan için olduğu gibi, metnin parametrelerini de ayarlayabilirsiniz: yazı tipi, boyut, renk vb. Bu alana herhangi bir metin yazarsanız, program değerini değiştirene kadar görüntülenecektir.

Klavyeden değerleri girmek için bir giriş alanı veya Giriş Metni kullanılır. Giriş alanı parametreleri penceresi, yukarıda tartışılan pencereye benzer. Buradaki ana parametre aynı zamanda "değişken" alanıdır. Kullanıcı tarafından girilen verilerin hangi ad altında kaydedileceğini siz belirlersiniz.

Şekil 6

Metin kutularının amacını anlayarak bir sonraki projeyi yapabilirsiniz. “Bilgisayar, yetişkin uçak bileti ücretinin yanı sıra uçan yetişkin ve çocuk sayısını da giriyor. Bilgisayar, bir çocuk biletinin maliyetini (bir yetişkinin maliyetinin %50'si) ve ilgili düğmeye basarak uçuşun toplam maliyetini hesaplar. Programın görünümüne bakın (Şekil 6). Bu görevde kolay görüleceği gibi değerler girilip sonuçlar çıktısı alındığı için bir butona basıldığında tüm kodun çalıştırılması ve dolayısıyla bu butona ilişkilendirilmesi gerekmektedir.

İlk önce beş statik metin kutusu oluşturun, bunları uygun metinle doldurun.

Üç giriş alanı oluşturun, her alan için değişkenlere benzersiz adlar verin, örneğin: stv (yetişkin bilet fiyatı), kolv (yetişkin sayısı) ve kold (çocuk sayısı).

İki dinamik alan oluşturun, her alan için değişkenlere benzersiz adlar verin, örneğin: std (alt bilet fiyatı) ve itog (toplam uçuş tutarı).

"Uçuşun maliyetini hesaplayan" ve "alanları temizleyen" iki düğme yapın

İlk düğme için aşağıdaki kodu ekleyin (düğme, sağ tuş - işlemler):

if (stv == boş) (

if (kolv == boş) (

if (kold == boş) (

itog = stv * kolv + std * kold;

Sondan bir önceki satır, bir çocuğun biletinin maliyetini (bir yetişkinin maliyetinin yarısı) hesaplar ve bu değeri std değişkeninde (ilgili çıktı alanının adı) saklar. Son satırda toplam hesaplanır (değişken itog) ve değeri ilgili çıktı alanına girilir.

Temel olarak, bu iki kod satırı ile idare edebilirsiniz. Ancak bu programla çalışacak kişi, çocukların uçuşa katılmaması durumunda mutlaka sıfır sayısını girmeyecektir. Bu, bir alt biletin (sayısal değer) maliyetinin boş bir değerle (dize değeri) çarpılacağı anlamına gelir. Böyle bir "çarpma" işleminin sonucu, ilgili çıktı alanında bir hata mesajı olacaktır. Bunu önlemek için bilgisayar giriş alanının boş olup olmadığını (kold == null) kontrol eder ve boş ise kold değişkenini sıfıra ayarlar. Buna koşullu ifade denir. Bir sonraki konuda bunun hakkında daha fazla bilgi. Koşullarla çalışmak sizin için hala zorsa, onları atlayabilirsiniz, ancak unutmayın, boş alanlar olmamalıdır!

Projeyi tamamlamak için "alanları temizle" butonu için uygun kodu ekleyelim:

Görüldüğü gibi bu butona tıkladığınızda her değişken ve dolayısıyla I/O alanına boş bir değer atanacaktır (iki tırnak işareti arasında hiçbir şey yoktur).

Soruları gözden geçirin:

Flash'ta ne tür metin alanları kullanılır? Dinamik bir metin alanı için yapılandırılabilir parametreler nelerdir? Klavyeden değer girmek için ne tür bir alan kullanılır? Aşağıdaki kod satırının anlamını açıklayın: itog = stv * kolv + std * kold ;? Tanımlanan projede kullanılan koşullu operatör nedir?

4. Koşullu operatör

Daha önce ele aldığımız program kodu doğrusaldır. Her komut, yalnızca önceki eylem tamamlandıktan sonra yürütülür. Hayatta, her şey biraz daha karmaşıktır. Yağmur yağarsa şemsiyeyi açarız, hedefe ulaştıysak seviniriz, diskriminant sıfırdan büyükse ikinci dereceden denklemin köklerini hesaplarız. Bütün bu durumlarda, öyle ya da böyle hareket ederiz. Bu tür durumları tüm programlama dillerinde uygulamak için bir dallanma operatörü veya bir koşullu operatör sağlanır. Eylem Komut Dosyası bir istisna değildir.

Şekil 7

Koşullu operatör, İşlemler - If komutuna tıklanarak çağrılır (Şekil 7). Pencerenin sağ tarafında bir yapı belirir:

Eğer (<Не установлено>) {

Onun yerine<не установлено>bir karşılaştırma işlemi yazmanız gerekiyor, bunu "Koşul" alanına yazıyorsunuz. Böyle bir koşulun bir örneği z olabilir<10, (переменная z меньше десяти).

Temel karşılaştırma işlemlerini ele alalım:

> daha az;

< больше;

> = büyük veya eşit;

<= меньше либо равно;

Eşit (not, iki eşittir işareti);

Eşit değil (ünlem işareti, bir sonraki karşılaştırma işleminin olumsuzlanması anlamına gelir).

Çoğu zaman, aynı anda birkaç koşulu yerine getirmek gerekir. Bunun için boolean (mantıksal) işlemler kullanılır:

&& veya ve - mantıksal VE;

|| veya veya - mantıksal VEYA;

Veya değil - mantıksal DEĞİL.

Örneğin, (a == 10) && (z> 5) koşulu, yalnızca a değişkeni ona eşit olduğunda ve aynı zamanda z değişkeni beşten büyük olduğunda doğru olacaktır.

Koşul, "evet" ve "hayır" olmak üzere yalnızca iki yanıtı olabilen bir sorudur. Koşul doğruysa, küme parantezleri içindeki işlemler gerçekleştirilir.

Bir koşul yanlış olduğunda yürütülecek bir grup komut eklememiz gerekiyorsa, İşlemler - Else eklemeniz gerekir. Ardından kod parçacığı şöyle görünecektir:

Eğer (<Не установлено>){

Komut eklemek için, imleci komutun görünmesi gereken satırın üzerine getirmelisiniz. İlgili blokta gerekli komutu seçmek ve fare ile üzerine tıklamak kalır.

Şekil 8

Klasik problemi çözmek için belirtilen ilkelerin nasıl uygulandığını ele alalım - ikinci dereceden bir denklemin köklerini bulma. “Bilgisayara üç sayı girilir - ikinci dereceden ax2 + bx + c = 0 denkleminin parametreleri. Girilen verilere dayanarak, bilgisayar bu denklemin kaç kökü olduğunu belirler, hesaplar ve sonuçları ekranda görüntüler. Program penceresinin yaklaşık bir görünümü sunulmaktadır (Şekil 8).

Bu projeyi tamamlamak için:

Ana sahnede ilk karede üç giriş alanı oluşturun ve bunlara uygun adları verin: a, b, c. Sınırlarını görünür hale getirin.

G / Ç alan etiketleri için bazı statik metin alanları oluşturun: x2, = 0, diskriminant, vb.

Dört dinamik metin kutusu oluşturun: d diskriminanttır, r çözümdür, x1 ilk kökün değeridir, x2 ikinci kökün değeridir.

"Denklemi Çöz" ve "Temizle" olmak üzere iki düğme oluşturun.

İlk "denklemi çöz" düğmesi için aşağıdaki program kodunu ekleyin, kesme işaretiyle işaretlenmiş metin bir yorumdur, eklemenize gerek yoktur:

if (a == boş) (

if (b == boş) (

if (c == boş) (

'İlk üç koşullu operatör, a, b, c alanlarının boş olup olmadığını kontrol eder,

'Öyleyse onlara sıfıra eşit sayısal değerler atarlar.

'Ayrımcı hesaplanır (d değişkeni).

r = "kök yok";

'Koşul karşılanırsa - diskriminant sıfırdan küçük değişken d

'Uygun metin değerini alır

) else if (d == 0) (

r = "bir kök";

x1 = (-b) / (2 * bir);

x2 = (-b) / (2 * bir);

'İşlemler komutu kullanılır - Else If. Onun sayesinde aşağıdaki

'Eylem durumu kontrol etmekle başlar. Eğer doğruysa - ayrımcı

'Sıfıra eşittir, benzer hesaplamalar yapılır, değişkenler ilişkilendirilir

'Metin alanları ile uygun değerleri alın

r = "iki kök" + Chr (255);

'En gizemli satır. "İki kök" yazısının gösterilmesi gereklidir,

'Ama Rus harfi i ile şansımız yaver gitti. Flash şu kodu kabul eder:

'Bu harfle satır sonu gibi eşleşiyor.

'Bu amaçla, metin dizesine 255 karakter değeri eklenir. Çok

'Eylem - iki metin dizesini birleştirmeye birleştirme denir.

kd = Matematik. kare (d);

x1 = (-b + kd) / (2 * a);

x2 = (-b-kd) / (2 * a);

'Math komutu karekökü hesaplamak için kullanılır. kare (d);

'Bunu çağırmak için Nesneler - Matematik - Sqrt komutunu kullanın.

İkinci buton için aşağıdaki kodu eklememiz yeterli:

Bana öyle geliyor ki buradaki yorumlar gereksiz. Proje hazır. Kaydet, test et.

Soruları gözden geçirin:

Flash'ta bir koşullu ifadeyi hangi yapı tanımlar? Yapılar arasındaki fark nedir: if (<Не установлено>) () başka () ve eğer (<Не установлено>))? Flash'ta olumsuzlama nasıl tanımlanır? Boole işlemleri nedir, Flash'a nasıl yazılır? a = 10 ve a == 10 satırları arasındaki fark nedir?

5. "Parametreli" döngüler ve "güle güle" döngüleri

Tekrarlayan eylemleri gerçekleştirmek için programlama dilleri, döngü ifadeleri adı verilen özel yapılar kullanır. Bu tür birkaç döngü yapısı vardır, en sık karşılaşılan iki "parametreli" döngüyü ve "güle güle" döngüsünü ele alacağız. Eylem Komut Dosyası dilinde nasıl uygulandıklarını görelim.

"Parametreli" döngüsü, belirli bir eylemin kaç kez gerçekleştirilmesi gerektiği önceden bilindiğinde kullanılır. Aşağıdaki benzetmeyi çizebilirsiniz - bir çorba yapmak için altı patatesi soymanız gerekir. Eylemleri doğrusal bir algoritma şeklinde yazarsanız, "patates al", "soy", "yıka" komutlarının altı kez tekrarlandığını fark edeceksiniz. Algoritmayı daha kompakt hale getirmek ve gelecekte değiştirmeyi kolaylaştırmak için onu bir döngü şeklinde yazmak daha mantıklı:

Tekrar (6 kez) (

"Patates al";

"Cildi soyun";

"Yıkama";

Burada altı sayısı, döngünün parametresi, tekrar sayısıdır. Kıvrımlı parantez içine alınanlar tekrarlanabilir komutlardır. Tam olarak altı kez gerçekleştirilecekler.

Şekil 9

Flash'ta "parametreli" bir döngü oluşturmak için, Çerçeve Eylemleri penceresinde İşlemler - İçin komutunu seçmeniz gerekir. Sonuç olarak, ekranın sağ tarafında bir döngü yapısı belirecektir (Şekil 9).

Şekil 10

Bu tasarım için üç alanı yapılandırmanız gerekir. Başlangıç ​​- burada bir değişkenin başlangıç ​​değerini yazmanız gerekir, buna sayaç da denir. Örneğin, ben = 1. Koşul, değişkeni ne kadar süreyle değiştireceğimdir. örneğin ben<=10. Следующий – с каким шагом изменяется переменная i. Если вы хотите, чтобы переменная каждый раз увеличивалась на единицу, то можно записать i++. В результате появляется конструкция:

için (i = 1; ben<=10; i++) {

Anlamı şu şekildedir - i değişkeni birden ona kadar değerler alacak ve kaşlı ayraçlar içine alınmış komutlar on kez yürütülecektir. i değişkeninin kendisi döngünün gövdesinde kullanılabilir ve diğer algoritmik yapılar, koşullu operatörler vb. de burada kullanılabilir.

Bir sonraki görevde bu yapının nasıl uygulandığını görelim. “a'nın n'inci kuvveti hesaplayan bir program oluşturun (n bir tamsayı değeridir). a ve n değerleri ilgili alanlara girilir. Programın görünümü Şekil 10'da gösterilmektedir.

Bir dinamik alan oluşturun ve ona bir ad verin.

eğer (n<>0) {

'Sorun yalnızca n> 0 ise anlamlıdır, bu koşullu ifadeyle kontrol edilir

için (i = 2; ben<=n; i++) {

'İlk satırda an değişkeni zaten a'ya eşit bir değere sahip olduğundan, sayacın başlangıç ​​değeri ikidir.

Temizle düğmesi için aşağıdaki kodu ekleyin:

Yorumlar bana gereksiz geliyor.

"Güle güle" döngüsü, tekrar sayısı önceden bilinmediğinde kullanılır. Analojiye devam edelim - insanlar patates kazarken, aynı zamanda tekrarlayan eylemler de gerçekleştirirler: "çalı kazmak", "patates toplamak", "bir torbaya koymak". Mesele şu ki, hiç kimse bu eylemleri kaç kez gerçekleştirmenin gerekli olduğunu bilmiyor. Bu nedenle, bu döngü aşağıdaki gibi yazılabilir:

(Patates var mı?) Yap (

Her seferinde, belirtilen komut setini çalıştırdıktan sonra, koşulun karşılanıp karşılanmadığını kontrol etmek gerekir, evet ise, döngü gövdesi yeniden yürütülür.

Şekil 11

Flash'ta bir süre döngüsü oluşturmak için çerçeve eylem penceresinde İşlemler - Süre komutunu seçmeniz gerekir. Sonuç olarak, ekranın sağ tarafında bir döngü yapısı belirecektir (Şekil 11).

Bu tasarım için yalnızca bir alanın yapılandırılması gerekir. Koşul - döngü hangi koşulda yürütülür. örneğin, y<10.

Döngüye ilk çağrı sırasında koşul karşılanmazsa, döngünün bir kez bile yürütülmediğini unutmayın. Ayrıca, döngünün yürütülmesi sırasında y değişkeninin değiştirilmesi çok önemlidir, aksi takdirde program sonsuz bir döngüye girer ve donar. Ayrıca, program kodunu Flash'ta yürütmenin özelliğine de dikkatinizi çekmek isterim. Bir nesnenin herhangi bir özelliğini veya dinamik bir alanın değerini döngüsel olarak değiştirirseniz, başlangıçta bu özellik veya değerde hızlı bir değişiklik görmezsiniz. Flash önce tüm komut dosyasını tamamen yürütür ve yalnızca döngünün bitiminden sonra ekranı yeniden çizer ve bu özelliği veya değeri değiştirir. Bu özelliği anlamak, yazılım animasyonu çalışırken özellikle dokuzuncu derste bizim için önemli olacaktır.

Şekil 12

"Parametreli" bir döngü kullanılarak yazılabilen herhangi bir algoritma, bir "güle güle" döngüsü kullanılarak da yazılabilir. Ama bunun tersi doğru değil. "While" yapısını kullanmak gibi başka yollarla çözülemeyecek sorunlar var. Böyle bir sorunu düşünelim. “1, 1/2, 1/3 ... 1 / n sayıları dizisinin ıraksak olduğu bilinmektedir, yani bu sayıların toplamı önceden belirlenmiş herhangi bir A sayısını aşabilir. 1 + 1/2 + 1 / 3 +… + 1 / n, belirtilen A sayısından daha fazla olacaktır. Programın görünümü Şekil 12'de gösterilmiştir. "

Bir veri giriş alanı oluşturun ve onu a olarak adlandırın.

İki dinamik alan oluşturun ve bunları sırasıyla n ve s olarak adlandırın.

Gerekli sayıda "a =", "n =" vb. statik imza oluşturun.

"Hesapla" ve "temizle" olmak üzere iki düğme oluşturun.

Hesapla düğmesi için aşağıdaki kodu ekleyin:

'Durum s kontrol etmek için gerekli olduğundan

süre (ler

"Temizle" düğmesi için kod, önceki görevdeki koda benzer.

Teorik olarak herhangi bir A için bir n değeri olmasına rağmen, gerçekte A = 10, n = 12367 için bile. A'nın büyük değerleri için bu sorunun hesaplanması dakikalar ve saatler sürebilir...

Soruları gözden geçirin:

"Parametreli" ve "güle güle" döngüsü arasındaki fark nedir?

Hangi döngü daha çok yönlü?

"Parametreli" bir döngüdeki "sayaç" nedir ve i ++ komutu ne anlama gelir?

Güle güle döngüsü kullanarak üstelleştirme yapan bir programı nasıl yazarım?

Program neden "while" döngüsü sırasında donuyor? Bundan nasıl kaçınabilirsiniz?

6. "Flash hesap makinesi" projesi

Eylem Komut Dosyası dilini çalışırken görmek için gerçekten değerli bir şey yapalım. Bir hesap makinesi yapalım, görünüm Şekil 13'te gösterilmektedir.

Şekil 13

Proje hedefi: İnternet için standart aritmetik işlemleri gerçekleştirme yeteneğine sahip standart bir hesap makinesi oluşturmak. Değerleri girmek için hem fare hem de standart klavye tuşlarını kullanın.

İlk olarak, dinamik bir çıktı alanı oluşturun ve buna metin gibi bir ad verin. İkinci olarak, hesap makinemiz için gerekli sayıda düğme oluşturun. Üçüncüsü, düşünmeye başlayalım.

Üç sorun bizi bekliyor:

İlk sorun, ilk numara çevrilirken her bir rakamın daha önce çevrilmiş olan numaranın sonuna eklenmesi ve aritmetik işlem ile düğmeye bastıktan sonra bir sonraki rakamın satırın başına yerleştirilmesidir.

İlk sayıyı girdiğimizde, örneğin 245, art arda 2, 4 ve 5 düğmelerine basıyoruz. Ancak hesap makinesi, 2 düğmesine bastığımızda yirmi veya iki bin değil iki yüz olduğunu nereden biliyor? Başka bir deyişle, ilk değişkende hangi sayının saklanacağını nasıl biliyorsunuz?

Üçüncü sorun ise birinci, ikinci sayı ve sonuç için en az üç değişken kullanmanız gerektiğidir ve yalnızca bir dinamik alan ve değişken adı vardır!

220 "height =" 52 "bgcolor =" beyaz "stil =" dikey hizalama: üst; arka plan: beyaz "> https://pandia.ru/text/78/159/images/image013_35.gif" genişlik = "12 "yükseklik =" 36 ">

İlk problemi çözmek için ek bir değişkene ihtiyacımız var, buna stek diyelim. Amacı mevcut aktiviteyi takip etmektir. İlk sayı girildiğinde, değeri örneğin bir olmalıdır. İlk sayının ikinci basamağı girilmeye başladığı anda, değişkenin değeri zaten iki olmalıdır. İkinci sayının girilmeye başladığı anda, değişkenin değeri zaten üçe eşit olmalıdır. Sonuç hesaplanırken, stek değişkeni tekrar bire eşit bir değer almalıdır, böylece sonuç sonraki eylemler için ilk sayı olabilir.

Tüm bunlar, tek bir ana kareyle geçinemeyeceğimiz anlamına geliyor. Yeni bir katman üzerinde bir ana kare oluşturmak ve bunun içinde stek değişkeninin değerini bire eşitlemek arzu edilir. İkinci ana kareye yalnızca bir Temel Eylemler - Durdur komutu ekleyin. Tüm düğmelerin bulunduğu hesaplayıcı katmanının içeriğini ikinci kareye taşıyın (Şekil 14). Artık program başladığında stek değişkeni istenilen değeri alıyor, film ikinci kareye geçiyor ve duruyor. Diğer tüm eylemler orada gerçekleşecek.

Şekil 14

İkinci sorunu çözmek için girilen değer metin olmalıdır! Bir sayıya tıkladığınızda, örneğin 1, sayılardan oluşan metin satırına bir karakter daha eklenecektir.

Peki, koşullu operatör ve stek değişkeni işi bitirmeye yardımcı olacaktır. Aşağıda

tuş 1'e atanan kod gösterilir.Diğer tüm düğmeler için kod aynıdır.

açık (bırakın, "1" tuşuna basın) (

'Her zamanki açık (serbest bırakma) özelliğinin yanı sıra klavyeyi kullanma yeteneği eklendi. keyPress "1", aşağıdaki kodun yalnızca ekrandaki düğmeye basıldığında değil, aynı zamanda klavyede bir tuşa basıldığında da yürütüleceği anlamına gelir. Bunun nasıl yapılacağı için Şekil 15'e bakın.

'Stek bir ise, dinamik çıktı alanıyla ilişkili değişken metin bire ve stek ikiye ayarlanır.

) else if (stek == 2) (

'Stek iki ise, o zaman bir numaradaki ilk rakam değildir, bu yüzden sağdaki metne eklenir.

) else if (stek == 3) (

'Stek üç ise, o zaman ikinci sayının ilk hanesi birdir.

Şekil 15

Üçüncü sorun kolayca çözülebilir. Girilen sayıları ara değişkenlerde saklamamız gerekiyor. Aritmetik işlemlerin tuşlarına karşılık gelen program kodunu inceleyelim, bu soruna bir çözüm uyguluyorlar:

açık (bırakın, tuşa basın "+") (

ve tuşa karşılık gelen program kodu eşittir.

açık (bırak, keyPress "=") (

metin = parseFloat (a) + parseFloat (metin);

) else if (o == "m") (

metin = parseFloat (a) -parseFloat (metin);

) else if (o == "u") (

metin = parseFloat (a) * parseFloat (metin);

) else if (o == "d") (

metin = parseFloat (a) / parseFloat (metin);

İlk snippet'te her şey açık olmalıdır. Artı tuşuna basılırsa, bir o değişkeni daha p (artı) değerini alır ve metin değişkeninin değeri geçici a değişkeninde saklanır. Ve sonunda eşittir tuşuna basıldığında, bilgisayar metin değişkeninde depolanan değeri ve a değişkenini toplamalıdır. Değişkenler metin değerlerini sakladığından, metin ifadesini bir sayıya dönüştüren parseFloat () işlevini kullanmanız gerekir. Bunu çağırmak için Functions - parseFloat komutunu kullanın.

Projeyi çalıştırın, test edin. Bu, ortaya çıkan hesap makinesinin mükemmel olduğu anlamına gelmez. Standart matematik işlevleri yoktur; arka arkaya birkaç işlem gerçekleştirmek için her zaman eşit tuşuna basmanız gerekir. Ancak tüm iyileştirmeleri kendiniz yapabilirsiniz. Ana şeyi öğrendik. Macromedia Flash kullanarak basit yazılım ürünleri oluşturun.

Soruları gözden geçirin:

Hesap makinesini oluştururken ne gibi sorunlarla karşılaştık? Stek değişkeninin amacı nedir? Bir metin ifadesi neden bir sayısal tuşa basılarak bir değişkende saklanmalıdır? parseFloat () işlevi ne işe yarar? Bir fikir önerin, "arka arkaya" birkaç aritmetik işlemi yaparken arada "eşit" tuşuna nasıl basılmaz?

7. Nesneye yönelik programlama.

Pascal veya Basic gibi dillerde programlamaya aşina iseniz, Flash'ta programlamanın hiç de onlara benzemediğini fark etmişsinizdir. Mesele şu ki, Action Script prosedürel programlama dillerine değil, Visual Basic veya Delphi gibi nesne yönelimli olanlara daha yakındır.

Bu dillerin karşılaştırması üzerinde ayrıntılı olarak durmadan, Action Script bağımsız bir dil olmadığı için temel kavramları bilmemiz gerekiyor. Kapsülleme ve polimorfizm gibi karmaşık kavramlara dayanan nesne yönelimli programlama (OOP) gibi temel bir kavramı biraz gevşek sunumum için beni hemen bağışlamanızı rica ediyorum.

OOP, tüm nesnelerin belirli bir sınıfın öğeleri olduğu uygulama nesnesi modeline dayanır (Şekil 16). Yani Flash uygulaması bir filme dayalıdır, bir veya daha fazla sahneden oluşur. Sahne, grafikler ve kitaplık nesneleri içerir. Sahnede ayrıca çerçevelerin bulunduğu bir zaman çizelgesi vardır. Ana kareler, klip tipi semboller ve düğme tipi semboller kendi Action Script kodlarına sahip olabilir.

Gerçek nesne yönelimli dillerde, nesne modelinin her öğesine program aracılığıyla erişilebilir. Macromedia Flash'ta, Action Script'i kullanarak bu öğelerin yalnızca bazılarına programlı olarak erişebilirsiniz.

Genel olarak konuşursak, Flash nesne değişkenleri oluşturma yeteneğine sahiptir, ancak bu, seçmeli dersimizin kapsamı dışındadır.

https://pandia.ru/text/78/159/images/image020_25.gif "width =" 612 "height =" 420 src = ">

Şekil 16

Kayan video kılavuz panelini kullanarak belirli videonuzun nesne modelini her zaman görüntüleyebilirsiniz.

Şekil 17 (önceki proje için nesne modelinin bir parçasını gösterir)
Flaş hesaplayıcı)

Değiştirilebilir nesnelerin özellikleri, yani değiştirilebilen şeyler vardır. Örneğin, bir video parçasının klibi, X koordinatının bir özelliğine sahiptir, Action Script'te bu özelliği değiştirebileceğimiz yöntemler vardır. (ve böylece yazılım animasyonu oluşturun). Bir sonraki bölümde bu konuda daha fazla bilgi.

Program kodunun her çağrısına bazı olaylar eşlik eder, böyle bir olay ekrandaki bir düğmeye basmak veya klavyedeki bir tuşa basmak olabilir.

Soruları gözden geçirin:

Nesne yönelimli programlama dilleri nelerdir? Flash Nesne Modelinin unsurları nelerdir? Programlı olarak hangi öğeleri değiştirebilirsiniz? Nesne, özellik, yöntem, olay terimlerinin anlamlarını açıklayın. Flash filmi hangi olaylara tepki veriyor?

8. Özelliklerin programlı değişimi.

Video klip gibi kitaplık sembolleri değişken özelliklere sahip olabilir. Bu, belirli bir nesnenin boyutunu, konumunu veya görünürlüğünü programlı olarak değiştirebileceğiniz anlamına gelir. Bu nasıl uygulanır?

Şekil 17

Dikdörtgen gibi bir nesne çizin.

Kitaplığa yerleştirin ve bir video klip olmalıdır;

Kayan panelde "Kopyala" bu nesnenin adını, örneğin zzz'yi belirtmek gerekir (Şekil 17).

Çerçeve Eylemleri panelinde İşlemler - Özelliği Ayarla'yı seçin. Bu komutun üç özel alanı vardır. Özellik, değiştirmek istediğimiz nesnenin özelliğidir, örneğin, _x (x Konumu), nesnenin X ekseni boyunca konumu.Hedef, bu durumda nesnenin kopyasının adıdır - zzz. Değer - seçilen özelliğin neye eşit olduğu, bu alan belirli bir sayı veya ifade içerebilir, ancak her durumda bayrağı "İfade" onay kutusunun yanına koymayı unutmayın (Şekil 18).

Hepsi bu, projeyi çalıştırırsanız, dikdörtgeninizin hareket ettiğini ve şimdi merkezinin koordinatının yüze eşit olacağını göreceksiniz.

Şekil 18

Değiştirilebilir özelliklerin eksiksiz bir seti "Çerçeve Özellikleri" bölümünde Özellikler'dir ve bunların anlamları literatürde bulunabilir. Gelecekte projede ihtiyaç duyacağımız ana özelliklere bakalım:

Alfa - nesnenin şeffaflığı, sıfır - tam şeffaflıktan 100 tam görünürlüğe kadar değişir;

Visible çok benzer bir özelliktir, görünürlük anlamına gelir. Özelliğin yalnızca iki değeri vardır - sıfır (nesne görünmez) ve bir (nesnenin tam görünürlüğü);

Şekil 19

Yükseklik - nesnenin piksel cinsinden ölçülen yüksekliği;

Genişlik - nesnenin piksel cinsinden ölçülen genişliği;

Döndürme - bir nesnenin merkezine göre döndürülmesi, derece cinsinden ölçülür;

X - x koordinatı;

Şekil 20

Y - y boyunca koordinat, sol üst köşenin koordinatı (0,0)'a eşit bir değer alır;

X ölçeği - ölçeği x ekseni boyunca değiştirin;

Y ölçeği - ölçeği y ekseni boyunca değiştirin ;

Gördüğünüz gibi, tüm özellikler bir alt çizgi ile başlar.

Yalnızca nesnenin özelliklerini programlı olarak değiştirmemiz değil, aynı zamanda mevcut değerlerini de izlememiz gerektiğinden, GetProperty işlevine ihtiyacımız var. Komut, "Çerçeve eylemleri" İşlevler - GetProperty () penceresinde çağrılır (Şekil 19). Fonksiyonun iki parametresi vardır. Hedef hedeftir, hedef kelimesi yerine nesnenin sembolünün kopyasının adı yazılır. Property değiştirilebilir bir özelliktir, örneğin property kelimesi yerine _x yazabilir ve mevcut koordinatı x ile alabilirsiniz. Bu fonksiyon, kural olarak, bir değişken ayarlamak için komutla birlikte veya başka bir komut içinde kullanılır (Şekil 20).

x = getProperty (zzz, _x);

Bu komut, x değişkeninin zzz adlı nesnenin geçerli koordinatını depolayacağı anlamına gelir.

Bir projede özellik değişikliklerini nasıl kullanabileceğinize bakalım. Özellikleri değiştirilebilen bir nesne oluşturun. Şekil 21'de bir ekran örneği gösterilmektedir.

Şekil 21

Bir nesne oluşturun ve onu bir film klibi türü sembolüne dönüştürün.

Bu sembolün kopyasının adını "Kopyala" kayan panelde verin, örneğin "Ob".

Bir dizi düğme oluşturun. Prensip olarak, düğme seti isteğe bağlı olabilir, proje, nesnenin koordinatlarını değiştiren ve nesnenin ölçeğini ve şeffaflığını değiştiren düğmeler kullanır.

Nesneyi yukarı hareket ettiren düğmeye aşağıdaki kodu ekleyin:

açık (serbest bırakın, tuşa basın " ") {

setProperty ("Ob", _y,

getProperty (Ob, _y) - 5);

bu komut, "Ob" nesnesinin özelliğini, y koordinatını değiştirir. Cismin yukarı hareket etmesi için mevcut koordinatı hesaplanır ve ondan 5 çıkarılır.

Diğer düğmeler, yalnızca değiştirmeyi düşündüğünüz özellikte farklılık gösteren benzer kodlara sahiptir. Örneğin bir tane daha verelim:

setProperty ("Ob", _xscale, getProperty (Ob, _xscale) + 5);

setProperty ("Ob", _yscale, getProperty (Ob, _yscale) + 5);

Bu kod nesneyi yakınlaştırır. Orantılı olarak büyütmek için hem x ekseninde hem de y ekseninde boyutu artırmanız gerekir. Bu nedenle, bu komut dosyasında iki komut vardır.

Soruları gözden geçirin:

Kütüphanedeki hangi sembollere programlı olarak erişilebilir? Bu nasıl organize edilir? Nesnelerin hangi özelliklerini incelediniz? Bunların anlamı ne? setProperty ve getProperty komutları arasındaki fark nedir? Satırın anlamını açıklayın: setProperty ("Ob", _xscale, getProperty (Ob, _xscale) + 5); Düğmeler gibi diğer nesnelerin özelliklerini nasıl değiştirebileceğinizi hayal edin.

9. Üç çerçeveli döngüler. Yazılım animasyonu.

Nesnelerin özelliklerini programlı olarak değiştirmek, programlı animasyon oluşturmanıza olanak tanır. Macromedia Flash'ta oluşturulabilen standart animasyonun aksine, film ilerledikçe yazılım animasyonu kontrol edilebilir.

Bir nesnenin özelliklerini, örneğin x koordinatını döngüsel olarak değiştirmek yeterli gibi görünüyor ve nesne hareket etmeye başlayacak, ancak durum böyle değil. Gerçek şu ki, Flash'ta önce program kodu yürütülür ve ancak o zaman değişiklik, ekranın yeniden çizilmesi gerçekleşir. Bu nedenle, nesne hemen başlangıç ​​noktasından son noktaya aktarılır, yumuşak hareket çalışmayacaktır. Bu çelişkinin üstesinden gelmek, üç çerçeveli döngülerin kullanılmasında yatmaktadır.

Fikirleri şöyle:

İlk anahtar kare, nesnenin başlangıç ​​konumu olan başlangıç ​​sabitlerini ayarlar.

İkinci ana karede, nesnenin özelliği belirtilen bir miktar kadar değişir.

Üçüncü ana kare, ikinci kareye gitmek için yalnızca bir komut içerir.

Döngü açıkça belirtilmemiş olmasına rağmen, özellikler döngüsel olarak değişecektir. İkinci çerçevedeki özellikleri programlı olarak değiştirerek, bilgisayar nesnenin konumunu değiştirecek ve üçüncü çerçeve bu işlemi “döngü” yapacaktır.

Üç çerçeve döngüsünün pratikte nasıl uygulandığını görelim. Arabanın levhanın kenarından kenarına hareket ettiği, ters yönde döndüğü ve süresiz olarak hareket etmeye devam ettiği bir video oluşturalım. Kullanıcı, hareket hızını değiştirme, yavaşlatma veya artırma yeteneğine sahiptir. Videonun görünümü, elbette hareketsiz, Şekil 22'de gösterilmektedir. Aşağıda, bu projenin uygulanması için program kodunun bir analizi olacaktır.

Şekil 22

İlk katmanda bir araba çizimi oluşturun veya bitmiş bir çizimi içe aktarın. Katmanı "makine" olarak yeniden adlandırın ve üçüncü karede F5 tuşuna basarak ana kareyi üçüncü kareye genişletin.

Çizimi video klip gibi bir sembole dönüştürün. Bu sembolün kopyasının adını "Kopyala" kayan panelde verin, örneğin "araba".

Yeni bir katman oluşturun, "düğmeler" olarak yeniden adlandırın ve üzerinde "daha hızlı" ve "yavaş" olmak üzere iki düğme oluşturun.

Yeni Eylemler katmanında üç boş ana kare oluşturun, F7'ye üç kez basın.

İlk animasyon karesine aşağıdaki kodu ekleyin:

setProperty ("araba", _x, 50);

Lütfen bu kodun kaşlı ayraçlar içine alınmadığını ve başında on (serbest bırakma) olmadığını, yani bu kodun özellikle çerçeveyi ifade ettiğini, düğmeyi değil. Bu parçada, nesnenin araba adı altındaki ilk satırında, _x özelliği (x ekseni boyunca koordinat) 50'ye ayarlanır. Ardından üç değişken tanıtılır, işte anlamları: dx - tek bir değerin değeri nesnenin hareketi ve hareket yönü (aşağıya bakın), MinX ve MaxX, sırasıyla nesnenin minimum ve maksimum olası koordinatıdır. Genellikle bu değişkenler olmadan yapabilirsiniz, ancak bunları kullanmak projenizde hata ayıklamayı çok daha kolaylaştırır. Daha fazla kodu analiz ederken daha derin bir anlayış ortaya çıkacağını düşünüyorum.

İkinci animasyon karesine aşağıdaki kodu ekleyin:

x = getProperty (araba, _x);

'x değişkeni, nesnenin mevcut konumunu saklar.

eğer (x<=MaxX) {

setProperty ("araba", _xscale, -100);

'İç içe iki koşullu ifadenin yapısı. İlki dx> 0 olup olmadığını kontrol eder. Eğer öyleyse, araç sağa doğru hareket ediyor. İkinci koşul x<=MaxX проверяет не достиг ли автомобиль максимально возможной координаты. Если это так то изменяется координата x объекта «car». Если второе условие не выполняется, то максимальная координата достигнута, как результат масштаб по координате х изменяется на -100% (автомобиль переворачивается) и единичного перемещение объект изменяется на противоположное.

eğer (x> = MinX) (

setProperty ("araba", _x, x + dx);

setProperty ("araba", _xscale, 100);

'Yine, iç içe iki koşuldan oluşan bir yapı. amaçları öncekilere benzer.

Üçüncü ana kareye aşağıdaki kodu ekleyin:

gitAndPlay (2);

Projeyi şimdi çalıştırırsanız, nesnenin sola ve sağa hareket ettiğini göreceksiniz. Hızı artırmak ve azaltmak için bazı basit kodlar ekleyelim.

Hızı değiştirmek için nesnenin birim hareket miktarını artırmanız gerekir. "Daha hızlı" düğmesine karşılık gelen kod aşağıda gösterilmiştir:

açık (serbest bırakın, tuşa basın " ") {

'Tek bir hareket pozitifse, düğmeye basmak o hareketi bir artırır. Klavyede "sağ" tuşa basarsanız aynı işlemin gerçekleşeceğini lütfen unutmayın.

"Daha yavaş" düğmesine karşılık gelen kod aşağıda gösterilmiştir:

açık (serbest bırakın, tuşa basın " ") {

Amaç önceki parçaya benzer. Bu kadar. Projeyi çalıştırın, test edin. Önceki iki projeyi birleştirecek ve bir oyun alacak olan son projede edindiğimiz bilgileri uygulayacağız.

Soruları gözden geçirin:

Programlanmış animasyon neden normal bir güle güle döngüsü ile yapılamaz? Üç çerçeveli bir döngüde her çerçevenin amacını açıklayın. Tanımlanan projedeki dx değişkeninin anlamını açıklayın. Program kodu neden setProperty ("car", _xscale, 100); satırını içeriyor? Oluşturulan projeye "dur" düğmesini ekleyin.

10. "Etkileşimli Oyun - Atış Poligonu" projesi.

Proje hedefi: Etkileşimli bir atış galerisi oyunu oluşturmak. Oyun alanında, hareketli bir hedefin yardımıyla vurulması gereken bir tavşan (hedef) karıştırılacaktır. Vuruş, minimum adım sayısında (hesaplanan) yapılmalıdır. Ekranın bir örneği Şekil 23'te gösterilmektedir.

Bu projeyi uygulamak için bir hedef nesne oluşturmanız gerekir (bu durumda, bu bir tavşanın içe aktarılmış bir resmidir). Önceki projedeki araba ile aynı şekilde hareket etmelidir. Ayrıca bir hedef nesne ve bu nesneyi sola, sağa ve yukarı ve aşağı hareket ettiren bir dizi düğme oluşturmanız gerekir. Ayrıca altı dinamik çıktı alanı oluşturmanız gerekir. İki tanesi hedefin koordinatlarının çıktısı için, iki tanesi hedefin koordinatlarının çıktısı için, bir tanesi sonucun çıktısı için ve bir tanesi de deneme sayısını saymak için.

Prensip olarak, bu aynı üç çerçeveli döngüdür. İlk çerçevede, ilk parametreleri belirledik:

z_x = rastgele (450) +50;

z_y = rastgele (230) + 50;

pr_x = getProperty (pr, _x);

pr_y = getProperty (pr, _y);

setProperty ("z", _x, z_x);

setProperty ("z", _y, z_y);

setProperty ("buh", _visible, 0);

d - isabet doğruluğu (aşağıda bu değişken hakkında daha fazlası); h, "tavşanı" hareket ettirmenin tek bir adımıdır; rez - tekrar sayısı, başlangıçta bu değişken sıfıra eşittir; z-x ve z-y "tavşan" ın ilk koordinatlarıdır, standart Rastgele işlevi kullanılarak ayarlanırlar, Çerçeve Eylemleri penceresindeki Nesneler - Matematik - Keyfi komutu kullanılarak çağrılır; daha sonra hedefin özellikleri ("z" nesnesi) elde edilen rastgele koordinatlara ayarlanır; ve son olarak, son satırda, "atış"ın görünürlüğü sıfıra ayarlanmıştır, yani şu an için "buh" nesnesi görünmezdir.

Şekil 23

Ve ikinci ana karenin kodu aşağıdadır:

z_x = getProperty (z, _x);

if (z_x> = max_x) (

setProperty ("z", _xscale, -50);

eğer (z_x<=min_x) {

setProperty ("z", _xscale, 50);

setProperty ("z", _x, z_x + h);

her şey önceki görevdeki ikinci karenin benzer kodunu tam olarak tekrarlar.

Üçüncü çerçevede yalnızca bir komut vardır:

gitAndPlay (2);

hedefin hareketini "döngülemenize" izin verir.

Hedefi sola-sağa, yukarı-aşağı hareket ettiren butonların kodunu ekleyin. Örnek olarak, hedefi sağa kaydırmak için kod:

açık (serbest bırakın, tuşa basın " ") {

pr_x = getProperty (pr, _x);

setProperty ("pr", _x, pr_x + 10);

pr_x = getProperty (pr, _x);

bu parçada pr_x = getProperty (pr, _x) komutu iki kez tekrarlanır, bu bir hata değildir. Sadece ilk defa hedefin hareket etmeden önce konumunu belirlemek için bu komuta ihtiyaç duyuluyor ve ikinci kez ateş ederken hedef koordinatıyla karşılaştırmak için hedefin yeni bir koordinatına ihtiyacımız var.

Ateş düğmesinin kodunu eklemek için kalır. Aşağıda sunulmuştur:

açık (serbest bırakın, tuşa basın " ") {

'Atışın etkinliği ne olursa olsun, değişken rez birer artırılır.

setProperty ("buh", _x, pr_x);

setProperty ("buh", _y, pr_y);

setProperty ("buh", _visible, 1);

"Atışı" taklit eden sembol, hedefin o anda bulunduğu koordinatlara taşınır ve görünürlüğü bire eşit olur.

tellTarget ("buh") (

gitAndPlay (2);

'Projede“ çekim ”, kırmızı bir dairenin göründüğü bir kliptir. Klibin ilk ve son karelerinde bunun her zaman olmasını önlemek için bir stop () komutu vardır. TellTarget komutu, bilgisayara kıvrımlı oklardaki aşağıdaki komutların yalnızca "buh" nesnesi için geçerli olduğunu ve içinde yürütüldüğünü söyler. İkinci kareye geçildiğinde, bu "buh" klibinin içindeki animasyonu başlatır.

if (Matematik abs (pr_x - z_x)

text = "Hedefe doğru!";

'Hangi durumda hedefi vurduğumuz kabul edilir - hedef ile hedefin koordinatları arasındaki fark vuruş doğruluğundan daha az ise (ilk karede d değişkeni). Buradaki nokta, hem x hem de y koordinatları için her iki koşulun da aynı anda yerine getirilmesidir, bu nedenle VE mantıksal bağlacı kullanılır (bkz. ders 4). Son olarak, standart matematiksel fonksiyon Math'ı kullanarak bu amaç için koordinat farkının modülünü karşılaştırmamız gerekir. abs (). Tüm koşullar karşılanırsa, "metin" dinamik alanı "Hedefe doğru!" değerini alır. ve video durur.

metin = "tarafından!";

Bu kadar. Proje çalışıyor, hedef bizden kaçıyor ve metin alanları konumunu takip ediyor. Hedef saha boyunca hareket eder ve sonuçlar ekranda görüntülenir. Bunca yolu geldiğimiz için kendimizi tebrik edebiliriz.

Soruları gözden geçirin:

Bu projede çalışılan hangi teknolojiler kullanılıyor? tellTarget ("buh") komutunun amacı nedir? Tavşanın hareket alanını 100 piksel azaltmak için programda nelerin değiştirilmesi gerekiyor? Hedef koordinatı ve hedef koordinatı karşılaştırırken neden koordinat verilerinin modülünü hesaplamalıyız? Bu Flash'ta nasıl çalışır? Oyunu karmaşıklaştıran seçenekler önerin, bunları uygulamanın yollarını önerin.

Flash'ta programlamaya az önce değindik. Dizilerle çalışma gibi sorular değişmedi, sesle ve kayan metin alanları ile çalışmadık, nesne değişkenleriyle çalışmadık. Flash'ta hala birçok sır ve sürpriz var, onların çalışması ayrı bir konuşma. Belki yazarın bu ilginç yönleri de açıklamak için zamanı olacaktır.

Bu ilk derslere ilgi duyuyorsanız, Flash programlama ile ilgileniyorsanız, o zaman harika Macromedia Flash programında ilk adımları anlattığım bu birkaç gece boşuna değildi. Benimle e-posta yoluyla iletişime geçebilir, dilek ve yorumlarınızı iletebilir, soru sorabilirsiniz, ancak her durumda bu metni okuduğunuz için teşekkür ederim.

Almak. exe dosyası varsa, Macromedia Flash'ta bir Flash filmi oluşturmalı, yayınlamalısınız (menü dosya - yayın). Sonuç olarak, uzantılı bir dosyanız var. swf olarak isterseniz Flash Player (Macromedia Flash yüklendiğinde otomatik olarak yüklenir) yardımı ile görüntüleyebilirsiniz. Karşınıza çıkan dosyayı açın, menüyü seçin dosya - projektör oluşturma, ismini ver. exe dosyası.

Şekildeki gibi bir dikdörtgen görmenize rağmen, bu bir kenarlıktır, yazarken kalacaktır, ancak videonun kendisinde görünmeyecektir.

Büyük olasılıkla, Rusça harflerle metin yazmaya çalıştığınızda ekranınızda "anlamsız" ifadesini göreceksiniz. Bunun nedeni, varsayılan Flash yazı tipinin Kiril karakterleri içermeyen Times New Roman olmasıdır. Bu nedenle, yazmadan önce, Times New Roman Cyr veya Arial Cyr gibi Kiril'i destekleyen bir yazı tipi yükleyin.

Bu kılavuzun elektronik formunu okuyorsanız, bu parçayı kopyalayabilir ve ardından panodan çerçeve eylem penceresine yapıştırabilirsiniz.

Macromedia Flash'ın dördüncü sürümünde, 20.000 tekrar sınırı uygulandı; daha fazla sayıda döngü yürütmeye çalışırken, bilgisayar donmayı önlemek için kodu yürütmeyi durdurdu. Beşinci sürümden itibaren kısıtlama kaldırılmıştır, bilgisayar yalnızca programın yürütülmesinin yavaşladığına dair bir mesaj verir ve programı kendi başına sonlandırmayı mümkün kılar.

Yeni bir ana kare eklemek için eylem katmanında kare # 2'ye tıklayın ve F7'ye basın. Flash, yeni bir boş animasyon karesi oluşturacaktır.

Bir resmi içe aktarmak için Dosya - Diğer biçimlerden içe aktar komutunu seçin. Örneğin belirttiğiniz klasörde aynı türden dosyalar varsa dikkatli olun. araba1? car2, vb., bilgisayar hepsini bir kerede içe aktarmayı önerecektir. Bir vektör resmini içe aktarırsanız, tuvalde gruplanmış nesnelerin bir koleksiyonu olarak görünür. Birlikte gruplamayı unutmayın. Bir bitmap içe aktarırsanız, otomatik olarak kitaplığa yerleştirilir ve sahnede bunun bir kopyasını görürüz.

ActionScript bir programlama dili olduğundan, onu öğrenmek, bilgisayar programları oluştururken kullanılan bir dizi temel kavramın anlaşılmasını gerektirir.

Bilgisayar programları hangi işlevleri yerine getirir?

Her şeyden önce, bilgisayar programlarının ne olduğunu ve hangi işlevleri yerine getirdiklerini anlamanız gerekir. Bir bilgisayar programının iki ana özelliği vardır.

    Bir program, bir bilgisayarın izlemesi gereken bir dizi talimat veya adımdır.

    Her adım nihayetinde belirli bir bilgi veya veri parçasının yönetimine yol açar.

Genel anlamda bilgisayar programı, operatör tarafından bilgisayara verilen ve bilgisayarın birbiri ardına yürüttüğü adım adım talimatlardır. Her bir bireysel talimat denir talimat... ActionScript'te her ifadeyi noktalı virgül izler.

Özünde, tek bir program talimatının tüm işlevleri, bilgisayarın belleğinde saklanan birkaç bitlik bilgiyi yönetmeye indirgenir. Basit bir örnek, iki sayı eklemek ve sonucu bilgisayar belleğinde saklamaktır. Daha karmaşık bir örnek, bir bilgisayar ekranında bir dikdörtgen çizerek ve bu dikdörtgeni ekranda farklı bir konuma taşımak için bir program oluşturmaktır. Dikdörtgenle ilgili belirli bilgiler bilgisayarın belleğinde saklanır: dikdörtgenin konumunun x, y koordinatları, kenarların genişliği ve uzunluğu, renk vb. Bu bilgilerin her biti bilgisayarın belleğinde saklanır. Dikdörtgeni ekranda farklı bir konuma taşımak için kullanılan algoritma, x koordinatını 200'e ve y koordinatını 150'ye atamak gibi eylemleri içerir. Yani x ve y koordinatlarına yeni değerler atamanız gerekir. . Bilgisayar, bu sayıları gerçekten bilgisayar ekranında görüntülenen bir görüntüye dönüştürmek için bu veriler üzerinde kullanıcıdan gizlenen bazı işlemler gerçekleştirir. Ancak, temel düzeyde, ekranda bir dikdörtgeni hareket ettirme işleminin yalnızca bilgisayarın belleğindeki veri bitlerini değiştirmeyi içerdiğini bilmek yeterlidir.

Değişkenler ve sabitler

Temel olarak, programlama işlemi, bilgisayarın belleğindeki verilerin yalnızca bir kısmının değiştirilmesini içerir. Bu nedenle, bir programdaki bir veri parçasını temsil etmenin bir yolunun olması önemlidir. Değişken bilgisayar belleğindeki bir değeri temsil eden bir addır. Değerleri işlemek için ifadeler yazdığınızda, değer yerine değişken adı yazılır. Bilgisayar bir programdaki bir değişkenin adını algıladığında, belleğine erişir ve orada bulunan değeri kullanır. Örneğin, her biri bir sayı içeren değer1 (değer 1) ve değer2 (değer 2) adlı iki değişkeniniz varsa, bu sayıları toplamak için aşağıdaki ifadeyi yazabilirsiniz:

Değer1 + değer2

Pratikte bilgisayar her bir değişken için değerleri bulur ve bu adımlarda bunları bir araya toplar.

ActionScript 3.0'da bir değişkenin aslında üç farklı bölümü vardır:

    değişken ismi

    bir değişkende saklanabilecek veri türü

    bilgisayarın belleğinde saklanan gerçek değer

Bilgisayarın bir değer için yer tutucu olarak bir adı nasıl kullandığına baktı. Veri türü de aynı derecede önemlidir. ActionScript'te bir değişken oluşturduğunuzda, depolanacak belirli bir veri türü belirtirsiniz. Artık program komutları yürütülürken bir değişkende sadece bu veri tipindeki değerler saklanabilir. Bir değeri, o veri türüyle ilişkili belirli özellikleri kullanarak değiştirebilirsiniz. ActionScript'te bir değişken oluşturmak için (bu işleme deklarasyon veya atama değişken), var ifadesi kullanılır:

Var değeri1: Sayı;

Bu örnek, yalnızca Number türündeki değerleri depolayabilen value1 değişkenini oluşturmaya yönelik komutları tanımlar. (Sayı, ActionScript'e özgü bir veri türüdür.) Değeri doğrudan bir değişkende de saklayabilirsiniz:

Var değeri2: Sayı = 17;

Adobe Flash Profesyoneli

Flash Professional'ın değişken ayarlamanın başka bir yolu vardır. Sahne Alanı'na bir film klibi sembolü, düğme sembolü veya metin kutusu sembolü yerleştirdiğinizde, Özellik denetçisinde bunlar için bir örnek adı belirtebilirsiniz. Gizli kullanıcı modunda, Flash Professional, örnek adıyla eşleşen bir ada sahip bir değişken oluşturur. Bu ad, Sahne Alanı'nda bu öğeyi temsil etmek için ActionScript kodunda kullanılabilir. Örneğin, Sahne Alanı'nda bir film klibi sembolünün olduğunu ve buna bir roketShip örneği adını verdiğinizi varsayalım. ActionScript'te roketShip değişkenini kullandığınızda, aslında film klibini kontrol edersiniz.

Devamlı değişkene benzer. Bilgisayar belleğinde belirli bir veri türünün değerini temsil eden bir addır. Aradaki fark, bir ActionScript uygulamasının yürütülmesi sırasında sabite yalnızca bir kez değer atanmasıdır. Bir sabite bir değer atanırsa, artık uygulamada değişmez. Bir sabiti tanımlamanın sözdizimi, bir değişkeni tanımlamanın sözdizimi ile hemen hemen aynıdır. Tek fark, var anahtar sözcüğü yerine const anahtar sözcüğünün kullanılmasıdır:

Sabit SALES_TAX_RATE: Sayı = 0,07;

Bir projenin birçok aşamasında yer alan ve normal şartlar altında değişmeyen bir değeri tanımlamak için bir sabit kullanılır. Değişmez değerler yerine sabitleri kullanmak kodunuzu daha okunaklı hale getirir. Örneğin, aynı kodun iki versiyonunu düşünün. Fiyatı SALES_TAX_RATE değişkeninin değeri ile çarpmak için bir kod kullanılır. Fiyatı 0,07 ile çarpmak için başka bir kod kullanılır. SALES_TAX_RATE sabitini kullanan sürümün anlaşılması daha kolaydır. Ayrıca, sabitin verdiği değerin değiştiğini varsayalım. Projenizde bir değeri temsil etmek için bir sabit kullanırsanız, değeri tek bir yerden değiştirebilirsiniz (sabit bildirim). Aksine, programlanmış literal değerleri kullanırken çeşitli yerlerde değiştirmeniz gerekecektir.

Veri tipleri

ActionScript'te değişken oluştururken kullanabileceğiniz birçok veri türü vardır. Bu veri türlerinden bazıları basit veya temel veri türleri olarak kabul edilir:

    Dizeler: Bir kitap bölümünün adı veya metni gibi metin değerleri

    Sayısal: ActionScript 3.0, üç belirli sayısal veri türünü içerir:

    • Sayı: herhangi bir tam sayı veya kesirli sayısal değer

      int: kesirsiz tam sayılar

      uint: işaretsiz (negatif olmayan) tam sayılar

    Boolean: geçiş durumları veya iki değerin eşitliği veya eşitsizliği gibi doğru-yanlış değerler

Basit veri türleri, tek bilgi parçalarını temsil eder: örneğin, tek bir sayı veya tek bir metin. Ancak, ActionScript ortamında tanımlanan veri türlerinin çoğu karmaşık veri türleridir. Bir kapta bir değerler koleksiyonunu temsil ederler. Örneğin, Date veri türündeki bir değişken, tek bir değeri (zamandaki noktayı) temsil eder. Ancak, bir tarih değeri birkaç değer içerir: gün, ay, yıl, saat, dakika, saniye vb. hepsi ayrı sayılardır. Tipik olarak, bir tarih tek bir değer olarak kabul edilir ve bir Tarih değişkeni yaratılarak tek bir değer olarak ele alınabilir. Ancak bilgisayar, bir tarihi, birlikte bir tarihi tanımlayan birden çok değer grubu olarak ele alır.

Çoğu yerleşik veri türü ve programcı tarafından tanımlanan çoğu veri türü karmaşıktır. Karmaşık veri türlerinden bazıları muhtemelen size zaten aşinadır:

    MovieClip: film klibi sembolü

    TextField: dinamik veya yazılı metin alanı

    SimpleButton: düğme sembolü

    Tarih: zaman içinde tek bir nokta hakkında bilgi (tarih ve saat)

Bir veri türü için yaygın olarak kullanılan iki eşanlamlı, sınıf ve nesnedir. Sınıf sadece bir veri tipi tanımıdır. "Örnek" veri türünün tüm değişkenleri A, B ve C özelliklerine sahiptir" ifadesinde olduğu gibi, veri türündeki tüm nesnelerin şablonuna eşdeğerdir. Bir obje, diğer yandan, sınıfın yalnızca gerçek bir örneğidir. Örneğin, MovieClip veri türündeki bir değişken, MovieClip nesnesi olarak tanımlanabilir. Bir ve aynı düşüncenin altında farklı kelimelerle ifade edilir.

    myVariable değişkeninin veri türü Number'dır.

    myVariable değişkeni, Number'ın bir örneğidir.

    myVariable değişkeni bir Number nesnesidir.

    myVariable değişkeni, Number sınıfının bir örneğidir.