[]
C# XNA'de oyun pause'lama
Selamlar duyurunun coder üstadları :)
XNA kütüphanesini öğrenmeye çalışıyorum. Microsoft'un sitesinde verdiği örnek oyunu yaptım şimdi kendimce öğrenmek için geliştiriyorum da ne yazık ki oyunu durdurmayı başaramıyorum. Amacım uçağın canı bittiğinde oyunun durması çıkan pencerede skorun yazması ve oyuna devam için basılacak tuşu söylemesi. Fakat burda bir sorunum var oyunu durduramıyorum :D
msdn.microsoft.com böyle bir pause çözümü var ama neresinde durduruyor. açıkcası anlamadım :) Yardım edebilecek kimse var mı?
XNA kütüphanesini öğrenmeye çalışıyorum. Microsoft'un sitesinde verdiği örnek oyunu yaptım şimdi kendimce öğrenmek için geliştiriyorum da ne yazık ki oyunu durdurmayı başaramıyorum. Amacım uçağın canı bittiğinde oyunun durması çıkan pencerede skorun yazması ve oyuna devam için basılacak tuşu söylemesi. Fakat burda bir sorunum var oyunu durduramıyorum :D
msdn.microsoft.com böyle bir pause çözümü var ama neresinde durduruyor. açıkcası anlamadım :) Yardım edebilecek kimse var mı?
xna bilmiyorum ama yine de yardımcı olmaya çalışayım. bu tür oyun/grafik motorlarının içinde bir adet update metodu vardır. bunlar genelde bir render timer'a bağlı olup saniyede 50-60 kere otomatik olarak çağrılır ya da programcının kendi belirlediği bir timer ile elle çağrılırlar. bu update methodunun görevi grafik uygulamasındaki pozisyonların update edilmesi, seslerin çalınması, animasyonların oynatılması ya da keyboard/mouse inputlarını yakalamak olabilir.
şimdi, uygulamayı pause'lamak için yapılması gereken şey öncelikle kullanıcının oyunu durdurdugunu anlamak. mesela, kişi belirli bir tuşa bastıgında olabilir ya da oyun bitince. bunun için bir adet boolean flag tutulur -tercihen 'finished' isminde-. eğer bu flag true ise, update methodu çalıştırıldıgında oyunun grafiklerini update etmesi gereken kısım bir if-else bloğu sayesinde çalıştırılmaz.
kısacası, pause state'ine geçildiğinde if-else bloğu kullanıp grafik updatelerinin durdurulması gerekiyor.
şimdi, uygulamayı pause'lamak için yapılması gereken şey öncelikle kullanıcının oyunu durdurdugunu anlamak. mesela, kişi belirli bir tuşa bastıgında olabilir ya da oyun bitince. bunun için bir adet boolean flag tutulur -tercihen 'finished' isminde-. eğer bu flag true ise, update methodu çalıştırıldıgında oyunun grafiklerini update etmesi gereken kısım bir if-else bloğu sayesinde çalıştırılmaz.
kısacası, pause state'ine geçildiğinde if-else bloğu kullanıp grafik updatelerinin durdurulması gerekiyor.
- milistroke (06.03.12 00:08:10 ~ 00:08:35)
1