İletişim

Bilgisayar Mühendisi Bilgi ve Becerileri : Eğitim, Tasarım İlgi Alanları: Doğada Yaşam, Yamaç Paraşütü

Website:Ali KARATAŞ

Son Yazılar

Action Script 3

AS3 – Timeline Kontrolleri

1- Geliştirdiğimiz uygulamalarda nesnelerin belli bir kareye geldiklerinde durmalarını/hareket etmelerini, ya da animasyonumuzun bir butona tıklandığında başlatılmasını isteyebiliriz. Uygulamamız için oluşturduğumuz nesneleri istediğimiz gibi kontrol edemezsek ortaya çıkan sonuçtan memnun kalmamamız oldukça yüksek bir ihtimaldir.

Örneğin toplamda 150 frame’den oluşan bir animasyonumuz var ve 50. frame’e geldiğinde durmasını istiyorsak timeline üzerinde 50. frame’i seçip F6 ile Keyframe ekledikten sonra Actions paneline stop(); yazarsak animasyonumuz 50. frame’e geldiğinde duracaktır. Eğer tam tersi olsun yani hareket etmesini istersek stop(); yerine play(); yazmamız yeterli olacaktır. Bu işlemleri bir buton aracılığı ile yapmak istersek aşağıdaki kodlar işimizi görecektir.

baslat_btn.addEventListener(MouseEvent.CLICK, animasyonuBaslat);
function animasyonuBaslat(e:MouseEvent){
    play(); 
}
durdur_btn.addEventListener(MouseEvent.CLICK, animasyonuDurdur);
function animasyonuDurdur(e:MouseEvent){
    stop(); 
}

2- Animasyonlarımızı nasıl başlatıp durdurabileceğimizi öğrendik. Eğer butona tıklandığında animasyonun olduğu frame’den değilde farklı bir frame’den başlamasını ya da farklı bir frame’e gidip durmasını istersek gotoAndPlay() ve gotoAndStop() metotlarını kullanabiliriz. kullanımları aynı play ve stop metodları gibidir. Hangi frame’e gidilmesi gerektiği de parantez içerisinde yazılır.

git_btn.addEventListener(MouseEvent.CLICK, gitVeBasla);
function gitVeBasla(e:MouseEvent){
    gotoAndPlay(50);    
   }
dur_btn.addEventListener(MouseEvent.CLICK, gitVeDur);
function gitVeDur(e:MouseEvent){
   gotoAndStop(25);
   }

3- Animasyonumuzun butona her tıklandığında ya da animasyon içerisinde gerçekleşecek olaylara göre birer frame ileri ya da geri gitmesini istersek prevFrame(); ve nextFrame(); metotlarını kullanmamız gerekecektir. Genellikle fotoğraf galerilerinde çok kullandığım bir yöntemdir. Kullanımı aşağıdaki gibidir.

ileriGit_btn.addEventListener(MouseEvent.CLICK, birKareIleri);
function birKareIleri(e:MouseEvent){
  nextFrame();
   }
geriGit_btn.addEventListener(MouseEvent.CLICK, birKareGeri);
function gitVeDur(e:MouseEvent){
   prevFrame();
   }

4- Frame’ler ile ilgili olarak kullanacağımız son metot ise Frame Etiketleridir. Aynı sembollerde olduğu gibi frame’leride isimlendirebiliriz. Frame’lere etiket verebilmek için ilgili frame’i seçtikten sonra Properties panelinde Frame Label kutucuğunu kullanılır. Frame’lere etiketlendirdikten sonra ilgili karenin hemen yanına kırmızı bir bayrak belirecek ve sağ tarafında frame etiketi yazacaktır. Frame etiketleri genellikle gotoAndPlay() ve gotoAndStop() metodları ile kullanılırlar. Parantez içerisine frame etiketi girilir.

deneme_btn.addEventListener(MouseEvent.CLICK, etiketeGit);
function etiketeGit(e:MouseEvent){
   gotoAndPlay("baslangic");
   }

5- Yukarıdaki örneklerin tümünda animasyonlarımızı Ana Sahne (Scene) ‘ni Timeline’ı üzerinde gerçekleştirdiğimizde geçerli olacaktır. Eğer herhangi bir nesneye aynı şekilde müdahale etmek istersek yapmamız gereken tek şey metottan önce nesnenin ismini yazmaktır.

baslat_btn.addEventListener(MouseEvent.CLICK, baslat);
function baslat(e:MouseEvent){
deneme_mc.play();
}

durdur_btn.addEventListener(MouseEvent.CLICK, durdur);
function durdur(e:MouseEvent){
deneme_mc.stop();
}

ilerlet_btn.addEventListener(MouseEvent.CLICK, kareyeGit);
function kareyeGit(e:MouseEvent){
deneme_mc.gotoAndStop(12);
}

İyi Çalışmalar…

Yorum Yazın