Yazýlarýmý Daha Kolay Takip Etmek Ýçin Týklayýn!

XNA’de İKİ BOYUTLU NESNE ÇİZİMİ – 3

yazan: 8/2/2008 4:40:00 AM

Önceki yazımda sabit duran nesneleri çizdirmeyi göstermiştim. Bu yazımda da aynı sınıfları kullanarak hareketli bir nesne çizdirmeyi göreceğiz.

 

Öncelikle nesnemiz hareket edeceği için bir hareket hızı olması lazım; bunu CizilecekNesne sınıfımıza değişken olarak ekliyoruz.

            public Vector2 velocity;

daha sonra; Game1.cs sınıfımıza dönelim;

nesne.velocity = new Vector2(0.0f, 0.5f);

nesne.position = new Vector2(350, 250);

bu şekilde sadece yukarı yönlü bir hız vektörü belirleyelim, ve nesnemiz için bir pozisyon değeri atayalım.

Daha sonra klavyeden girdi alarak nesnemize hareket verelim.

if (keyboardState.IsKeyDown(Keys.Up))

            obje.position -= obje.velocity;

      if (keyboardState.IsKeyDown(Keys.Down))

            obje.position += obje.velocity;

şeklinde daha önce de anlattığım gibi, kullanıcı girdisi alarak nesneyi gideceği yöne doğru hareket ettirelim. Birinci deyimde -= işareti yukarı yönlü bir harekete neden olcaktır çünkü unutmayalım ekranımızda y ekseni aşağı gittikçe artar. Sonra;

 

obje.position.Y = MathHelper.Clamp(obje.position.Y,

 0, ekranAlanı.Height-obje.sprite.Height);

 

Diyelim, bu metoda dikkat Clamp metodu birinci parametresinde verilen değeri alır; ikinci ve üçüncü parametreler arasında tutar. Eğer değer son iki parametrenin arasında ise değişmez, eğer birini geçiyorsa geçtiği max veya minimum değere eşitlenir.

Burada nesnemizin Y bileşeni ancak “0” ve  “Ekran alanı – Nesnenin boyu” arasında bir değer alabilir. Eğer birini geçerse geçtiği değere eşitlenir. Böylece nesnemiz sürekli ekranda kalacaktır.

 

Olay kısaca bu zaten diğer kısmını önceki yazıda halletmiştik şimdi araya bunları ekleyerek nesnemizi harekete geçirdik.

Önceki yazıya buradan; çevre birimlerinden girdi almaya buradan ulaşabilirsiniz.  

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Etiketler: , , ,

XNA

 

Yazar Hakkýnda

Erçin YONTAR
Erçin Yontar
1986 yýlýnda Çorlu'da doðdu.Ýlk öðrenimini Ankara'da, ortaöðrenimini Eskiþehir'de gördü.
Çanakkale 18 Mart Üniversitesi Bilgisayar Mühendisliði Bölümü mezunu.
Yazýlým ile çok ilgili; Visual Studiosu daima açýk :) bunun sayesinde Imagine Cup 2008 Türkiye 3.sü ve bir çok proje geliþtiriyor.
Yazýlým dýþýnda : Frp hastasý, rock/metal dinliyor, organizasyon iþlerine merak sardý. Bunlarýn yanýnda o bir; 
MCTS (Microsoft Certified Technology Specialist)



MSP (Microsoft Student Partner)

Bana posta atýn Send mail

Favorilerine Ekle


Add to Technorati Favorites

 

Twitter - Ne Yapýyorum?

    Pages

      Recent comments

      Feragatname

      Burada yazan yazýlar ve içerdikleri fikirler yazarýna aittir. Baþkasýný ilgilendirmez. Yazýlarý kaynaðýný kopyaladýðýnýz yazýnýn içinde týklanabilir link halinde belirtmek þartý ile olduðu gibi kullanabilirsiniz. Bu kurallarý deðiþtirme hakkým saklýdýr. Yarýn bir gün benim yazým benim blogumdan baþka bir yerde olamaz dersem Kopyaladýðýnýz yazýyý da silmek zorundasýnýz. Bu iþe girþen kiþi bu koþullarý ve doðan yasal yükümlülükleri kabul etmiþ sayýlýr. Eyvallah diyen devam etsin.

      © Tüm haklarý saklýdýr.

      Giriþ