ALLAH (cc)'IN EN GÜZEL İSİMLERİ (ESMA-ÜL HÜSNA)
el - MUSAVVİR

Varlıklara şekil veren ve onları birbirinden farklı özellikte yaratan.


Anasayfa    |     Ben Kimim?    |     Öğrenci İşleri
Action Script 3 Klavye Yön Tuşları Kontrolü
30.04.2015         (9857) kez okundu    
Tweetle     Yazdır

Selamun Aleyküm, merhaba bu dersimde Flash Action Scrip 3.0 ile klavye yön tuşlarını kullanmayı anlatacağım. Yukarı tuşu, sağ tuşu, sol tuşu, aşağı tuşu, vs...

Bu uygulama ile çizdiğimiz bir şekli yön tuşlarıyla yukarı, aşağı, sağa ve sola hareket ettireceğiz.

Uygulamaya geçmeden önce klavye komutlarını tanıyalım:

  • KeyboardEvent : Klavye olaylarını tanımlayan sınıf.
  • keyCode : Klavyeden basılan tuş bilgisini aldığımız komut.
  • KeyboardEvent.KEY_DOWN : Klavyeden herhangi bir tuşa basılma anıdır.
  • KeyboardEvent.KEY_UP : Klavyeden basılan herhangi bir tuşun bırakılma anıdır.
  • Keyboard.UP : Klavyedeki yukarı yön tuşudur. Diğer tuşlar da aynı mantıkla kullanılır.
  • Keyboard.DOWN : Klavyedeki aşağı yön tuşudur. 
  • Keyboard.RIGHT : Klavyedeki sağ yön tuşudur. 
  • Keyboard.LEFT : Klavyedeki sol yön tuşudur. 
  • Keyboard.A : Klavyedeki A tuşudur.  Diğer tuşlar da aynı mantıkla kullanılır.

Yukarıdaki ifadeleri kullanacağımız için önce tanıyalım dedim. 

Harekete başlamadan sahnenin koordinatlarını bilmemiz gerekmektedir.

 Flash Ekran koordinatları

Yukarıdaki sahne resmi çizdim inceleyecek olursak; beyaz alan sahnemizdir. Kırmızı ile işaretli alan ise ekranın başlangıç noktasıdır. Yani x ve y koordinatının sıfır olduğu yerdir. Ekranın x koordinatı yatay düzlemidir. y koordinatı ise dikey düzlemdir. 

Yukarıdaki bilgilere göre ekrandaki bir şekli;    Kaynak: www.mustafakarsli.com

  • Sağa hareket ettirmek için x koordinatını arttırmamız gerekmektedir.
  • Sola hareket ettirmek için x koordinatını azaltmamız gerekmektedir.
  • Aşağı hareket ettirmek için y koordinatını arttırmamız gerekmektedir.
  • Yukarı hareket ettirmek için y koordinatını azaltmamız gerekmektedir.

Bu bilgiler ışığında geçelim uygulamayı yapmaya.

Flashı açalım ve sahneye bir kare çizelim, film klibi türünde sembole dönüştürelim ve örnek adını kare yapalım.

Zaman çizelgesinde 1.kareye tıklayalım ve eylemler penceresini açıp aşağıdaki kodları yazalım:

1    import flash.events.KeyboardEvent;

2    function hareket(islem:KeyboardEvent):void
3    {
4      if(
islem.keyCode==Keyboard.UP)
5      {
6        
kare.y=kare.y-10;
7      }
8      else if(
islem.keyCode==Keyboard.DOWN)
9      {
10       
kare.y=kare.y+10;
11     }
12     else if(
islem.keyCode==Keyboard.LEFT)
13     {
14       
kare.x=kare.x-10;
15      }
16     else if(
islem.keyCode==Keyboard.RIGHT)
17     {
18       
kare.x=kare.x+10;
19     }
20   }

21   stage.addEventListener(KeyboardEvent.KEY_DOWN,hareket);

Yukarıdaki kodları açıklayalım:    Kaynak: www.mustafakarsli.com

Yukarıdaki kodda kırmızı renkle yazılan yerleri kendimiz isimlendiriyoruz. Size kalmış istediğiniz isimleri verebilirsiniz.

1.satırda, Klavye olayları kütüphaneden ekleniyor.

2,3,20.satırda, hareket isimli fonksiyon tanımlıyoruz. Fonsiyonun içinde islem:KeyboardEvent ile islem adında klavye olayları tanımlıyoruz. islem adını ben verdim. Burada hangi adı verirseniz fonsiyon içinde klavye komutlarını kullanmak için burada verdiğiniz ismi kullanacaksınız.

4,5,6,7.satırda, if şart yapısı tanımlanıyor.

4.satırdaislem.keyCode ile klavyeden basılan tuş bilgisi alınıyor ve Keyboard.UP  ile Yukarı yön tuşu mu karşılaştırılıyor. Basılan tuş yukarı yön tuşu ise 6.satırı yani parantez içini yapacak.

6.satırdakare.y  ile kare nesnemizin y koordinat bilgisi alınıyor. kare.y=kare.y-10;  ile kare nesnesinin y koordinat değerini 10 piksel azaltıyoruz. Bu sayı size kalmış istediğini bir sayıyı yazabilirsiniz. Yani her yukarı tuşuna bastığımızda nesnenin y koordinatı 10 piksel azalıyor.

Diğer yön tuşları ile else if yapıları da aynı mantıkla yapılıyor.

8,9,10,11.satırda, 12,13,14,15.satırda,  16,17,18,19.satırda, else if şart yapıları tanımlanıyor. Yukarıdaki ile aynı mantık.

10.satırda,  kare.y=kare.y+10; ile karenin y koordinatı 10 piksel arttırılıyor.

14.satırda, kare.x=kare.x-10; ile karenin x koordinatı 10 piksel azaltılıyor.

18.satırda, kare.x=kare.x+10; ile karenin x koordinatı 10 piksel arttırılıyor.

21.satırda, stage ifadesi çaışma alanımızı tanımlamaktadır. stage.addEventListener ifadesi ile Çalışma alanına olay ekliyoruz. Parantez içindeki KeyboardEvent.KEY_DOWN,hareket ifadesi ile klavyeden tuşa basılma anına hareket fonksiyonunu çalıştırmasını tanımlıyoruz. Yani klavyeden herhangi bir tuşa basıldığında hareket fonsiyonu çalışacaktır.

Yukarıdaki komutları yazıp Ctrl+Enter ile çalıştırabilirsiniz. Aşağıdanda uygulamayı deneyebilirsiniz.


DERSİN KAYDI:

Dersin videosunu aşağıdan izleyebilirsiniz.

Soru ve görüşlerinizi aşağıdaki yorum ekle bölümünden yazabilirsiniz. Yeni derslerde görüşmek üzere sağlıcakla kalınız.

Mustafa KARSLI    Kaynak: www.mustafakarsli.com

© 2008 - 2024
Mustafa KARSLI