Flash ActionScript 3.0 İle klavye kontrolü 2

Bir önceki uygulamamızda Flash CS5 ve actionscript 3.0 ile sahnedeki bir nesneyi klavyenin yön tuşlarını kullanarak hareket ettirdik. Bu yazımızda uygulamamızı biraz daha geliştireceğiz. Uygulamada Sahnedeki nesneyi yine klavye ile hareket ettireceğiz ve sahne üzerindeki başka bir nesnenin tam ortasına geldiğinde mesaj olarak “DOĞRU YERDE” yazdıracağız.

Şimdi uygulamaya geçelim.

  • Bir flash uygulaması açın ve sahneye bir daire ve birde kare çizin. Önce kareyi sonra topu çizin ki sonra top karenin üzerine gelebilsin. hangi şekli önce çizdiyseniz sıralamada o altta kalıyor unutmayın.
  • Metin aracını kullanarak bir metin alanı oluşturun. Metin alanını seçin ve özellikler panelinden klasik metin kısmını TLF metni yapın. Böylece font sorunu yaşama ihtimalimiz düşüyor. Aksi halde herşey doğru olsa bile fonttan kaynaklı olarak mesaj yazmıyor. Metnin <Örnek Adı>‘nı mesaj olarak belirleyin.

hareket2

  • Kare ve daireyi ayrı ayrı film klibine çevireceğiz ve isim vereceğiz. Bunun için kareyi seçin ve F8 tuşuna basın. Karşınıza sembole dönüştür penceresi gelecek. Buradan Türü Film Klibi seçin. Birde Kayıt kısmındaki (aşağıda kırmızı daire içinde belirtilmiş) XY koordinat sistemi başlangıç noktasını merkez olarak seçin ve Tamamı tıklayın. Hala kare seçili iken özellikler panelindeki <Örnek Adı>‘nı KARE olarak belirleyin. Unutmayın actionscript büyük küçük harfe duyarlıdır.

mc1

  • Aynı işlemleri daire içinde yapın ama <Örnek Adı>’nı TOP yapın. Bununda XY merkezi orta olsun.
  • Şimdi sıra geldi kodları yazma işine. Sahnede boş bir yere tıklayın ve F9’a basın. Karşınıza kod yazma penceresi gelecek. Oraya yazılacak kodlar şu şekildedir.
stage.addEventListener(KeyboardEvent.KEY_DOWN, hareket);
function hareket(event:KeyboardEvent) 
{
    mesaj.text =""; //mesaj alanına boş metin göndererek temizliyoruz
    //eğer basılı tutuşan tuş sol yön tuşuysa nesneyi sola doğru hareket ettiriyoruz.
    if (event.keyCode==Keyboard.LEFT) {
        TOP.x -= 1; // top nesnesinin x koordinatını 1 eksiltir.
    }
    //eğer basılı tutuşan tuş sağ yön tuşuysa nesneyi sağa doğru hareket ettiriyoruz.
    if (event.keyCode==Keyboard.RIGHT) {
        TOP.x+=1; // top nesnesinin x koordinatını 1 artırır.
    }
    //eğer basılı tutuşan tuş yukarı yön tuşuysa nesneyi yukarı doğru hareket ettiriyoruz.
    if (event.keyCode==Keyboard.UP) {
        TOP.y-=1; // top nesnesinin y koordinatını 1 eksiltir.
    }
    //eğer basılı tutuşan tuş aşağı yön tuşuysa nesneyi aşağı doğru hareket ettiriyoruz.
    if (event.keyCode==Keyboard.DOWN) {
        TOP.y+=1; //top nesnesinin y koordinatını 1 artırır.
    }
	if (TOP.x == KARE.x && TOP.y == KARE.y)
	   mesaj.text ="Doğru yerde";
//kare ve topun x ve y noktaları birbirine eşitse 
// mesaj alanına doğru yerde yazacak
}

[kml_flashembed publishmethod=”static” fversion=”8.0.0″ movie=”http://www.mustafaakbal.com.tr/wp-content/uploads/2013/04/klavyeilehareket2.swf” width=”470″ height=”200″ targetclass=”flashmovie”]

Get Adobe Flash player

[/kml_flashembed]

NOT : Burada koordinatları arttırma sayısını 1 olarak belirledik. Eğer farklı belirlerseniz tam olarak üst üste gelme ihtimalleri çok düşecektir. Ayrıca sahneye bir nesne yerleştirince nesneyi seçin ve özellikler panelinden X ve Y koordinatlarına kesinlikle bakın. Bazen bu koordinatlar virgüllü sayı olabiliyor (45,85 gibi). Kodlarını doğru olsa bile yine üst iste gelme ihtimali düşüyor.

Bir sonraki uygulamamızda bunu biraz daha geliştirip top karenin içine yarıdan fazla girerse Doğru yerde yazdırmak olacak. Sizde o zamana kadar yapmayı deneyin. İsterseniz uygulamayı aşağıda deneyin.

[kml_flashembed publishmethod=”static” fversion=”8.0.0″ movie=”http://www.mustafaakbal.com.tr/wp-content/uploads/2013/04/klavyeilehareket2_.swf” width=”470″ height=”200″ targetclass=”flashmovie”]

Get Adobe Flash player

[/kml_flashembed]

2 yorum

Bir cevap yazın

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