GRAFİK TASARIM ACTION SCRIPT 3.0 Ders1 YARD. DOÇ. DR. MEHTAP YALÇINKAYA
Kod Parçacıklarını Kullanma ve Flash Timeline'ında Gezinme Code Snippet Panelini Kullanarak ActionScript Ekleme Timeline'a Kod Yerleştirme Ders1 ham.fla
Code Snippet Panelini Kullanarak ActionScript Ekleme Ders1 ham.fla dosyası içinde layerlar, grafikler ve animasyonlar bulunmaktadır. Timeline üzerindeki ilk 30 karede bir animasyon, 50.kareden itibaren de etkileşimli bir ara birime ait arkaplan bulunmaktadır.
Code Snippet Panelini Kullanarak ActionScript Ekleme ActionScript 3.0 (AS3) kodları, Timeline üzerindeki bir keyframe (anahtarkare) de veya bir MovieClip Sembolü içindeki herhangi bir keyframe üzerinde oluşturulur. Filmin oynatılması esanasında her framedeki (karedeki) kod, ilgili frame (kare) oynatılırken çalıştırılır. AS3 kodları, AS paneline yazılır. Bu panele; Windows > Actions komutuna veya klavyeden; tuşuna basarak erişebilirsiniz.
Code Snippet Panelini Kullanarak ActionScript Ekleme Code Snippet paneli, yeni başlayanların AS3 a daha kolay bir başlangıç yapmasını sağlar. Bu panel içinde birçok hazır kod bulunmaktadır. Bu panele; Windows > Code Snippet komutuna tıklayarak görüntüleyebilirsiniz. Panel içinde belirli başlıklar altında listelenmiş birçok kod yer almaktadır. Bunlar bu geliştiricinin en sık kullanacağı kodlardır.
Code Snippet Panelini Kullanarak ActionScript Ekleme Ders1 ham.fla uygulama dosyasındaki buton katmanına www.izu.edu.tr adresine gitmek için, IZU Anasayfa butonuna(düğmesine) Code Snippet kullanarak hazır kodlardan uygun olanını ekleyelim. Butonumuzun adını, help_btn olarak Instance Name kısmına yazalım. 1) Bu buton seçili iken Code Snippets Panelini açın 2) ActionScripts > Actions başlığı altındaki Click to Go to Web Page çift tıklayın 1 2
Code Snippet Panelini Kullanarak ActionScript Ekleme Katmana eklenen kod ; Artık butona tıkladığınızda, Sabahattin Zaim üniversitesinin ana sayfasının yeni bir sekmede açıldığını göreceksiniz.
AS kodlarını yerleştirmeye başlamadan önce, Timeline daki layerlardan (katmanlardan) birnin isminin labels olduğuna dikkat edin. Bu layer, 2. frame de loop ; 50. framede home adında birer etikete sahiptir. Flash da herhangi bir kareye etiket verebilirsiniz. labels layerındaki 30.cu kareyi seçiniz F6 tuşuna basarak keyframe ekleyiniz. Bu keyframe seçiliyken, Properties panelinin sol üst kısmındaki Label >Name alanına endloop yazıp enter tuşuna basınız. Timeline üzerinde yeni eklediğimiz label (etiket) 30. frame de belirecektir.
Pek çok çalışmada timeline nın belirli bir bölümünün tekrar tekrar oynatılmasına ihtiyaç duyulabilir. Örnekte 2. frame ile 30. frame arasındaki kısmın tekrar tekrar oynatılması istenmektedir. Bunun için actions katmanında 30. frame i seçin, F6 tuşuyla yeni bir keyframe ekleyin. gotoandplay komutuyla oynatma kafasını istenen kareye gönderip, oradan oynatılmasını sağlayabilirsiniz. Bu komut içine frame sayısı verilerek çalıştırılabileceği gibi, label (etiket) vererek de çalıştırabiliriz. Örneğimizde 2.-30. frame arası loop ile labellendiği (etiketleniği) için komut içine bu label ı yazabiliriz. Filmi test ettiğimizde (Ctrl+Enter), filmin home karesine ulaşamadığını fakat açılış animasyonunun tekrar tekrar oynatıldığını görürsünüz. Bunun sebebi 30.frame e yazılan kodun, oynatma kafasını 30. frame e her ulaştığında 2. frame e geri göndermesidir.
2.-30. frame arasının KAÇ KEZ TEKRARLANDIĞINI SAYMAK için SAYMA DEĞİŞKENİ oluşturalım. AS3 de bir değişken tanımlamak için var ifadesinin ardından yeni değişkene vermek istediğimiz ismi yazarak değişken tanımlayabilirsiniz. Değişken isimlerini oluştururken dikkat etmemiz gereken bazı kurallar vardır;
Şimdi bu kurallara bağlı kalarak, AS layer ında (actions layer ı) 1. frame i seçin ve count adında bir değişken oluşturun ve başlangıç değeri olarak 1 verin;
Her döngü tamamlandıktan sonra, count değerinin değişmesini sağlamak için AS layer ındaki 30. frame ı seçin ve değişkeni 1 arttırın. ++ karakterleri, değeri 1 er arttırmak için kullanılan yöntemdir. Komutun bu şekilde yazılması, count değişkeninin değerini 1 arttırır.
Count değişkeninin değerini sahnede göstermek ve animasyonun kaç kez tekrarlandığını görüntülemek için metin katmanında bulunan metin alanını seçin. Bu alanın dynamic text olarak ayarlandığına dikkat edin. Ayrıca metin alanına info_txt adı verilmiştir. Bu metin alanında count değerleri görüntülenmek istenmektedir. Bunun için AS layer ında 2. frame i seçin F6 tuşuna basarak yeni bir keyframe oluşturun. Yeni oluşturulan keyframe seçiliyken, Actions panelini açın; info_txt öğesinin text özelliğine, count değişkeninin String ifadeye çevirip atayın. Filmi tekrar izlediğinizde, metin alanında başlangıçta 1 sayısı görünecek ve animasyonu her tekrarında bu sayı 1 artacaktır.
Animasyonun 5 kez tekrarlandıktan sonra oynatma kafasının home label ının bulunduğu 50. frame e atlamasını sağlayalım. Bu işlemi yapmak için Koşullu Deyim kullanılması gerekmektedir. Bunun için AS layer ındaki 30. frame i seçin ve Actions panelinden gotoandplay komutunu silin. Koşullu deyim olarak IF deyimi kullanılacaktır. Bu deyimbir koşuldan; koşul doğruyken yapılacak bir işlem bloğundan ve koşul yanlış olduğunda yapılacak başka bir işlem bloğundan oluşur. Koşul olarak, count değişkeninin 4 den büyük olduğunda home label ına gitmesini, küçük ve eşit olduğunda ise loop label ına gitmesini ayarlayalım Filmi test ettiğinizde, animasyonun 5 kez tekrarlandığını ve ardından home label ının başladığı 50. frame e gittiğini görebilirsiniz.
home frame indeki metin alanında başka bir metin görüntüleyebilmek için AS layer ında 50. frame e gelin F6 tuşuna basarak yeni bir keyframe oluşturun. Actions panelinden bu keyframe de info_txt öğesinin text özelliğine istenilen metni çift tırnak içinde yazayarak atayabilirsiniz Filmi bir kez daha test ettiğinizde animasyonun son bölümünde yazdığınız metni görebilirsiniz. Yapılan uygulamalar basit olmasına rağmen veriler, değişken kullanarak dpolamak ve aktarmak, değişken durumlara koşullu deyimler kullanarak cevap vermek, AS3 ile zengin etkileşimli uygulamalar oluşturmanın kritik birer parçasıdır.