Son Haberler
Anasayfa / Yazılım / Action Script 3.0 / Action Script İle Merhaba Dünya

Action Script İle Merhaba Dünya

Programlamacılar için vazgeçilmezdir, hepimiz biliriz. Bir programlama diline başladığımızda hep ilk yazdığımız kod bloğunda ekrana merhaba dünya yazdırırız. Bu bir gelenektir, bu olmadan olmaz 🙂 Şimdi bu yazımda da Action Script 3.0 ile ekrana merhaba dünya yazdıracağım.

Tabi bunu yaparken temel şekilde flash ortamını da size tanıtmak istiyorum. Ben Flash CS 6 ile işlem yapıyorum hemen hemen birbirine yakın şekilde sizde kendi uygulamanızda gerçekleştirebilirsiniz.

Flash uygulamamızı açtığımızda yeni bir sayfa açmak için File menüsünden new deriz. Karşımıza aşağıdaki gibi bir sayfa çıkar.

2014040503

Burada sol tarafta Action Script 3.0 seçip OK dediğimizde Untitled-1 isminde isimsiz bir proje sayfası açılır. Bir Flash proje sayfasının görünümünü aşağıda görebilirsiniz.

2014040504

Tabi benim ayarlarıma göre bu şekilde bir görüntü var ama standartta mutlaka bir çalışma sayfasında Timeline ve Scene dediğimiz bir çalışma alanı bulunur. Timeline kısmında frameler mevcuttur. 1’den başlayarak devam eder. Timeline üzerinde en başta tek bir katman yani tek bir layer bulunur. İstediğimiz kadar katmanları arttırabiliriz. Photoshop kullanmayı bilenler zaten bu katmanlara alışıktırlar. Çalışma sayfamı oluşturduğumda default olarak bir layer ve bir keyframe geliyor. Keyframe dediğim şey frame üzerinde (1 den başlayarak ufak ufak kutuların olduğu alan)

2014042101

Timeline üzerinde görüleceği gibi Layer1 olarak adlandırılmış bir katman mevcut. Normalde varsayılan olarak katman adına verilen isim budur. Bu ismi tabi değiştirebiliriz. Layerlar özellikle grafikerlikle uğraşanların bildikleri yapılardır. Türkçe katman anlamına gelir. Bir Flash projesinde de istediğimiz kadar layer oluşturabiliriz.

Birde stage alanımız mevcut, aşağıdaki resimde görebilirsiniz. Stage alanı sahnedir yani çalışma alanıdır. Varsayılan olarak Scene1 olarak adlandırıldığını görebilirsiniz.

2014042102

Keyframe animasyon terimidir. Flashta animasyon yaparken sıklıkla keyframe ile işlemler yapılır. İşin actionscript tarafında ise keyframe ile çalışma pek yoktur. Keyframe ile şunu yapabildiğinizi hayal edebilirsiniz, bir animasyon nerede başlayacak, nerede duracak, animasyonun hangi hareketi nerde başlar, nerde biter bunları gerçekleştirebilmek için yani animasyonumuza emir verebilmek için keyframe kullanılır. Örneğin diyelim ki ekranda sol tarafta bir araba resmi var. 1. keyframe de ekranın en solunda. Sonra 20. keyframe de ise bu arabayı ekranın en sağına aldık. 10. keyframe de ise ekranın ortasına aldık. Timeline aktığında 1. keyfremde araç en solda olacak ve 10’da ortada ve 20’de sağda olacak şekilde arabamız soldan sağa hareket edecektir. Timeline üzerinde istediğimiz bir yere keyframe ekleyebiliriz. Bunun için timeline üzerinde istediğimiz bir alanı seçip Insert menüsünden Timeline > Keyframe seçebiliriz. Ya da direkt olarak ilgili kutucuğu seçer ve F6 tuşuna basarız. Tabi bizim konumuz şimdi action script olması nedeni ile detaya girmiyorum.

Şimdi asıl konumuza geçelim. Ekrana “merhaba dünya” yazdıracağız. Bunu yapmak için window menüsünden Actions seçeriz ve ilgili pencereyi açarız. Ya da klavyeden kısayol olarak f9 deriz.

2014042103

Actions paneli text girişi yapabildiğimiz bir paneldir. Buradan kodlarımızı girebilir, gerekli biçimlendirmelerimizi de yapabiliriz. Şimdi ekrana merhaba dünya yazmak için aşağıdaki kodu giriniz.

trace("merhaba dünya");

İşlem bu kadar 🙂 Şimdi kod çalışıyor mu test etmek için ctrl + Enter tuşlarına birlikte basmamız yeterlidir. Çalıştırdığımızda sahnemiz boş olduğu için orada bir şey çıkmaz ancak altta Output sekmesinde programımızın çalıştığını görebilirsiniz.

2014042103

2014042104

Peki outputta yazdırdık. Stage yani sahne alanında nasıl yazdırırız. Şimdi bunu gerçekleştirelim.Bu işlemin geri planında 3 satır kod mevcut. İlk satırda yazmış olduğumuz ifadeyi ekranda tutacak bir text alanı oluşturulur. Yani bir text holder gibi düşünün. İkinci satırda yazdırdığımız ifade yer alır. Üçüncü satırda ise yazdırdığımız ifadeyi sahneye yazdıracağımız kod yer alır. Yine actions panelde aşağıdaki şekilde kodlarımızı yazalım.

var yazi:TextField = new TextField();
yazi.text = "merhaba dünya";
addChild(yazi);

Sonuç aşağıdaki gibi olur.

2014042105

Action Script 3.0’da her bir görsel nesne display object olarak adlandılır. Bunlar bir text alanı, bir grafik elementi, bir buton veya kullanıcı tarafından tanımlanmış bir kullanıcı arabirimi olabilir. Örneğin bir pop-up menü gibi. Display object dediğimiz nesneler içinde birden fazla display object barındıracak şekilde koleksiyonlardan da olabilir.

Yukarıdaki 3 satır kodu yazdığımızda Flash kendi kütüphanesinden ilgili kodları ekler. Programcılar bilirler, mutlaka ilgili kütüphane kullanılır. Burada da import flash.text.TextField kod satırı flash tarafından otomatik olarak geri planda eklenmektedir.

Şimdi biraz kodlarımızı çözümleyelim. Kodda görüleceği üzere yazi adında bir TextField tipinde bir değişken oluşturdum. Daha sonra yazi değişkenimin Text özelliğine “merhaba dünya” yazısını atama işlemi yaptım. Daha sonra addChild metodu ile de ilgili yazi değişkenimi stage alanıma aktardım. Böylelikle stage alanında “merhaba dünya” yazdırmış oldum.

Burada var deyimi ile bir değişken oluşturacağımı bildiriyorum. Burada merhaba dünya yazısı en sola dayalı şekilde yazılıyor ve varsayılan format ve renkte. Bu yazı formatını istediğimiz şekilde yapabiliriz, renk, boyut vb ayarlamalar yapabiliriz. Sahnemizde istediğimiz yerden itibaren başlamasını sağlayabiliriz. Ama tabi şu aşama da sadece amacımız yazı yazmak.

Şimdi de aynı işlemi class oluşturarak gerçekleştirelim.

Genel itibari ile kod yazarken class yani sınıfları kullanmamız gerekmektedir. Flashta bir nesne oluşturmak için class kullanmak bir diğer yoldur. Şimdi Flash ortamında bir sınıf dosyası oluşturmak için File menüsünden New deyin ve çıkan menü üzerinde sol taraftan Action Script 3.0 class seçip sağ tarafta class name alanına bir isim yazın. Daha sonra OK deyin.

2014042106

Bir kod yazma sayfası açılır. Varsayılan olarak Script-1 şeklinde isimlendirmesi mevcuttur. Bir class dosyası kendisinin bir class olduğunu package deyimini belirtmekle başlamaktadır. Sonra programda gerekli olan parçalar tanımlanır. Bizim örneğimizde yazının yazının görüntülenmesi ve yazının yazılması olacağı için ilgili parçacıklar;
flash.display ve flash.text’tir. Bu parçacıklar da aslında birer sınıftırlar. Bunlar Action Script içinde bulunun dahili sınıflardır. Daha sonraki satırda sınıfımızı tanımlayacağız. Burada sınıfımızı tanımlarken public erişimi vericez, bunun anlamı şudur, ana klip yani ana film üzerinden bu class’a erişim sağlanabilecek. Yani erişime açık olacak. Aşağıdaki gibi yazacağım:

public class merhabaDunya extends MovieClip {

Bu sınıfım içinde sadece tek bir fonksiyon yer alacak. Fonksiyonumun adı da merhabaDunya olsun. Fonksiyonumun adı class adı ile aynı olduğu için ilgili class çalıştığında otomatikmen hızlı bir şekilde ilgili fonksiyonumda hemen çalışmış olacak. Burada fonksiyon olarak adlandırdığımız yapı constructor’dır.

Oluşturmuş olduğum class ana filme bağlı olacak dolayısı ile ana film üzerinde filmi oynattığımda hemen class çalışmış olacak.

package  {
	
	import flash.display.*;
    import flash.text.*;
	
	public class merhabaDunya extends MovieClip {

		public function merhabaDunya() {
			var yazi:TextField = new TextField();
            yazi.text = "merhaba dünya";
            addChild(yazi);
		}

	}
	
}

Daha sonra yeni bir Flash dokümanı açıyorum. İsmini de merhabaDunya verdim. Sağ tarafta properties penceresinde de merhabaDunya classımı çağırdım. Böylelikle flash dosyamı çalıştırdığımda artık ekrana merhaba dünya yazacaktır. Burada tüm işlem merhabaDunya classı üzerinden gerçekleştirilir.

2014042107

2014042108

Aşağıdaki linkten uygulamayı indirebilirsiniz.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir