Favorilerine Ekle | Giriş Sayfan Yap | Tavsiye Et

 

Kurs Tanıtım Sayfası | Süper Üye Kimdir? | Menü Tasarımı Konulu Örnek Ders
Kod İndir| Hazır Kodlar | Makaleler| İpuçları | VB .NET Kursu | Dersler | Forum | Alt Bölümler | Servisler
    Merhaba Misafir
    anasayfa » visual basic ipuçları » Yön Tuşları Kullanarak Nesne Kontrolü
Üye Girişi
Kullanıcı Adı:  
Şifre : 
Kaydet ?
Siteden tam olarak faydalanabilmek için üye olmalısınız.
Unuttuğunuz şifrenizi öğrenebilmek için kayıt sırasında verdiğiniz Hatırlatma Cevabı'nı bilmeniz gereklidir.
Şifre hatırlatma işlevini sadece 3 defa kullanma hakkınız vardır.
Kullanıcı adını ve şifresini unutan üyelere email ile yardım verilmez.

Aktivasyon Gelmedi mi?Aktivasyon mesajınız email adresinize gelmedi mi?
Buraya tıklayarak bir kez daha aktivasyon mesajı gönderilmesini sağlayabilirsiniz.
Lütfen email hesabınızın BULK ve SPAM klasörlerini de kontrol ediniz.
Rastgele Makale

Silinmez, Silinmeyen program, Silinmesin :)

Yazar: PC_boy

Webmasterlar
Sitenize Ekleyin!
Sitenizde "Son Eklenen 10 Visual Basic Yazısı"'nı göstermek ve içeriğini zenginleştirmek için buraya tıklayınız.

Vbasicmaster.com'a link verin!
Aşağıdaki minik banneri sitenize eklemek için tıklayın!

Üye Sayısı:
Ziyaretçiler nerede?
Yayın № : 12280
Yayın Tar:11.04.2013
Yazar : leedut
Hit :3022

Bu Yazarın Yazıları Sadece bu yazarın ipucu göster
Bu Yazıyı Tavsiye Et

Öncelikle, yönleri atamamız için değişkenleri tanımlamamız gerekiyor;

Dim sol, sag, yukari, asagi As Boolean 'Boolean olarak tanımlamamızın sebebi "true" ve "false" değerlerini atayabilecek olmamız.
Dim x, y


Sonra, klavyeden bir tuşa basıldığında programımızın hangi tuşa basıldığını algılamasını ve bize gerekli olan yön tuşlarından birisine basılıp basılmadığını kontrol etmemiz gerekiyor.
Bunun için Form'un KeyDown eventine aşağıdaki kodları yazıyoruz;


Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Select Case KeyCode
Case vbKeyLeft
sol = True 'Sol tuşa basılınca "sol" adlı değişkenin durumunu "true" yapıyoruz
Case vbKeyRight
sag = True 'Sağ tuşa basılınca "sag" adlı değişkenin durumunu "true" yapıyoruz
Case vbKeyUp
yukari = True 'Yukarı tuşuna basılınca "yukari" adlı değişkenin durumunu "true" yapıyoruz
Case vbKeyDown
asagi = True 'Aşağı tuşuna basılınca "asagi" adlı değişkenin durumunu "true" yapıyoruz
End Select
End Sub


Şimdi de, basılan tuş bırakılınca bunun algılanmasını ve işlemin durmasını sağlıyoruz;

Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)
Select Case KeyCode
Case vbKeyLeft
sol = False 'Sol tuşa basılınca "sol" adlı değişkenin durumunu "false" yapıyoruz
Case vbKeyRight
sag = False 'Sağ tuşa basılınca "sag" adlı değişkenin durumunu "false" yapıyoruz
Case vbKeyUp
yukari = False 'Yukarı tuşuna basılınca "yukari" adlı değişkenin durumunu "false" yapıyoruz
Case vbKeyDown
asagi = False 'Aşağı tuşuna basılınca "asagi" adlı değişkenin durumunu "false" yapıyoruz
End Select
End Sub


Şimdi iki adet nesneye ihtiyacımız olacak, bir tanesi interval'i 10 olan timer, diğeri de enabled'ı false olan, kontrol edeciğimiz nesne; timer'a aşağıdaki kodları yazıyoruz;

If sol Then 'Eğer sol adlı değişkenin durumu "true" ise
x = x - 100 'Nesne sola gideceği için "x" (yani yatay ekseni) düşürüyoruz
If x < 0 Then x = 0 'Nesnenin ekran dışına çıkmasını engellemek için, x 0'dan küçük değer alırsa, tekrar 0'a eşitliyoruz.
End If

If sag Then 'Eğer sağ adlı değişkenin durumu "true" ise
x = x + 100 'Nesne sağa gideceği için "x" (yani yatay ekseni) artırıyoruz
If x >= Me.ScaleWidth - NESNE.Width Then x = Me.ScaleWidth - NESNE.Width 'Nesnenin ekran dışına çıkmasını engellemek için, x ekran büyüklüğünden uçak boyu kadar eksik değere ulaşınca, tekrar o değere eşitliyoruz.
End If

If yukari Then 'Eğer yukari adlı değişkenin durumu "true" ise
y = y - 100 'Nesne yukarıya gideceği için "y" (yani dikey ekseni) düşürüyoruz
If y < 0 Then y = 0 'Nesnenin ekran dışına çıkmasını engellemek için, y 0'dan küçük değer alırsa, tekrar 0'a eşitliyoruz.
End If

If asagi Then 'Eğer asagi adlı değişkenin durumu "true" ise
y = y + 100 'Nesne aşağıya gideceği için "y" (yani dikey ekseni) artırıyoruz
If y >= Me.ScaleHeight - NESNE.Height Then y = Me.ScaleHeight - NESNE.Height 'Nesnenin ekran dışına çıkmasını engellemek için, y ekran büyüklüğünden uçak boyu kadar eksik değere ulaşınca, tekrar o değere eşitliyoruz.
End If

NESNE.Left = x 'NESNE adlı nesnenin "Left" değerini x'e eşitliyoruz
NESNE.Top = y 'NESNE adlı nesnenin "Top" değerinin y'ye eşitliyoruz

Yön tuşlarını kullanarak nesnemizi formun her yerine, ekrandan çıkmadan götürebiliyoruz.
Özellikle shooter oyun yapmak isteyenlerin işine yarayacağını umuyorum.




Bu sayfa için henüz yorum eklenmemiş.

© Hakan Ersöz 2000-2013| Üyelik Sözleşmesi | | Ödeme Bildirimi
Sitemizden yenilikleri hemen öğrenin, pop upları engelleyin, chat yapın... ToolBarımızı indirin:
Vasicmaster Toolbar'ı indirin