ActionScript 3 ile Kod Yazımı


Adobe Flash CS5 ile basit kod yazım örnekleri vereceğim. ActionScript 3 eski ActionScript 1-2’e göre daha rahat ve hızlı çalışıyor. AS3 öğrenen aslında AS2’ye de kolaylıkla adapte olarak kullanabilir. İlk kez öğrenenler için bu iç rahatlatıcı olabilir.

Başlangıç olarak en önemli konu; bir nesnenin tıklanma, fare basımı gibi olayların nasıl yazılacağıdır. Fare, klavye ve sahne olayları vardır. (Detaylar: http://edutechwiki.unige.ch/en/ActionScript_3_event_handling_tutorial)

Örneğin “Instance Name” olarak kutu verilen bir dikdörtgenin tıklanma olayı şu şekilde yazılabilir. Önce bir dikdörtgen çizin, sonra F8 ile “Movie Clip” yapın. Properties’den ismini “kutu” olarak değiştirin.

F9 kısa yolu ile açılan “Actions” panelinde bir uyarı karşımıza geliyor. Kısaca “Kodlar direkt olarak nesnelere yerleştirilemez.” diyor. Sahnede boş bir alanı tıklayıp tekrar F9 tuşuna basalım. Layer1 üzerine aşağıdaki gibi bir kod bloğu yazalım.

kutu.addEventListener(MouseEvent.CLICK,islem);
function islem(e:MouseEvent){
trace(kutu.x + " " + kutu.y);   //output ekranına çıkış alınır
}

Kutu nesnesi tıklandığında böcek ayıklama penceresine o anki koordinat bilgisi yansıtılıyor.

MouseEvent dışında en fazla kullanılanlar KeyboardEvent (özellikle metin kutuları için) ve sahne yüklenmesidir (stage Events).

AS kod yazım kuralları Javascript ile aynıdır. Değer atama, değişken türleri, eğer, döngü yapımı aşağıdaki gibi özetlenebilir. Satır sonlarında ; (noktalı virgül) kullanmak zorunlu değildir. Çok satırda { } süslü parantez ile blok yapılabilir. Açıklama satırları // iki bölü karakteri ile çok satırlı açıklamalar ise /**/ yıldızlar arasına yapılabilir.

var a:int=500;     //hem tamsayı değişken oluşturup hem de ilk değer atama
a=1000;           //yeni değeri 1000
if (a>500) trace(“500’den Büyüktür”) else trace(“500’den küçük veya eşittir”)
for(a=1;a<5;a++) trace(a + " döngü" )

Output ekranına aşağıdaki gibi yazar:

500’den Büyüktür
1 döngü
2 döngü
3 döngü
4 döngü

Flash’ın nesne özelliklerinden bahsetmek gerekirse, MovieClip nesnelerinin x, y, width, height gibi büyüklük ve yer değerlerinin yanında alpha, color, mouseX, rotation, scaleX gibi ilginç özellikler de var.

AS3 ile nesneleri dinamik olarak oluşturabilir ve onlara kod ile Tween Transition (geçiş) animasyon özelliklerini ayarlayabilirsiniz. (Detay: http://www.zedia.net/actionscript-3-tweens-tutorial/)

Mesela kutu sahne ilk açıldığında sağa doğru hareket edecek:

import fl.transitions.Tween;
import fl.transitions.easing.*;    //gerekli kütüphaneleri ekledik
var myTween:Tween = new Tween (kutu, "x", Strong.easeOut, 0, 300, 3, true); 
//yatayda 300 pixel kay

Nesnelerin yer ve büyüklüğüne animasyon vererek daha zengin uygulamalar yapılabilir. Gördüğünüz gibi zaman çizgisinde uzun zaman geçirmek yerine bir iki satır kod yazmak daha kolay.

Hatta AS ile veritabanı erişimi (XML), dışarıdan resim, video ve ses yükleme pratik sayılır. http://www.flafolder.com/resource/ adresindeki örnekleri inceleyiniz.

About these ads

8 thoughts on “ActionScript 3 ile Kod Yazımı

  1. sayın hocam actionscprit 3.0 da egitim videosu cekecekmisiniz cekerseniz eger yeni baslayanlar icin basit maskeleme tekniklerini gosterebilirseniz cok iyi olur bekliyorum hocam

  2. peki hocam ben sadece sizden şu mausla harekeket eden transparan yuvarlak nesnene ilgili yardım isticektim size zahmet nasıl yapıldığı yada kodları eklermisiniz sahnede değil tüm pc takip etmesini istiyorum

    • Chip dergisinin verdiği bir Flash CS3 eğitimi var. Oradan istediğin örneği bulabilirsin.
      Fare hareketlerini Flash player dışında kontrol edemeyiz. Onun için Visual Studio ile bir Windows uygulaması geliştirmek yerinde olur.

    • Kodların örnek dosyasını kaydetmedim.
      Nerede ise 3 yıldır Flash ile uğraşmıyorum. Zaten daha önceden de 2-3 örnek yapıp geçmiştim. Flash ve Silverlight’ın geleceği parlak değil… HTML5 üzerine gidilmesini tavsiye ederim.

  3. size bir sorum olacak

    hocam bir DİZİ oluşturacam sonra bu dizinin içine movie cliplerin kütüphaneden class isimlerini dizinin elemanları şeklinde yazıyorum ve rast gele bu dizideki isimlere göre movie clip cağırıyor. ve ekranda gösteriyor örnek ne zaman 10. frameye gelse bu kod çalışacak

    var sorular = new Array(“soru1″, “soru2″, “soru3″,”soru4″, “soru5″, “soru6″);

    var a:int;
    a = Math.round(Math.random()*5+1);

    var b:String;
    b=sorular[a*3];

    var soru:b = new b(); //böyle yzılabilirmi

    addChild(soru);
    soru.x=500;
    soru.y=250;

    • çözdüm problemini:

      http://www.adobe.com/devnet/flash/quickstart/loading_images_library_as3.html

      movieClip’lerini kod yazımına hazır hale getir ve şu kodu dene:

      var soru1:s1 = new s1();
      var soru2:s2 = new s2();
      var soru3:s3 = new s3();
      var soruHata:sHata = new sHata();

      var a:int;
      a = Math.round(Math.random() * 2 );
      trace(a);
      switch (a)
      {
      case 0 :
      addChild(soru1);
      soru1.x = 200;
      soru1.y = 150;
      break;
      case 1 :
      addChild(soru2);
      soru2.x = 200;
      soru2.y = 150;
      break;
      case 2 :
      addChild(soru3);
      soru3.x = 200;
      soru3.y = 150;
      break;
      default :
      addChild(soruHata);
      soruHata.x = 200;
      soruHata.y = 150;
      break;
      }

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Connecting to %s