XNA - Kısa sorular, Kısa cevaplar

Mouse ikonumu bulamıyorum?

Evet, varsayılan olarak XNA, oyun penceresi içerisinde mouse ikonunu gizler. Eğer mouse’u görmek istiyorsanız;

this.IsMouseVisible = true;</pre>

kodunu eklemeniz gerekir.

Oyunu farklı çözünürlükte çalıştırmak istiyorum

XNA ile oyun geliştirmeye çalışan her programcının çok kısa süre sonra merak ettiği bir sorudur bu.

Çözüm;

public Game1()
{
    graphics = new GraphicsDeviceManager(this);

    Content.RootDirectory = "Content";

    /// Oyun penceresinin çözünürlüğünü 1920x1080 ayarlar
    this.graphics.PreferredBackBufferWidth = 1920;
    this.graphics.PreferredBackBufferHeight = 1080;
}

Not : Bu konu ile ilgili XNA - Oyun ekranının boyutlarını belirlemek yazımı okumanızı tavsiye ederim.

Oyunumu tam ekran oynatmak istiyorum

Çözünürlüğü değiştirdikten hemen sonra, tam ekran oyun nasıl oynatılır? sorusu gelir;

protected override void Initialize()
{
    /// Eğer tam ekran değilse, tam ekran moduna geç!
    if (!graphics.IsFullScreen)
    {
        graphics.ToggleFullScreen();
    }

    base.Initialize();
}

Not : Bu konu ile ilgili XNA - Oyun ekranının boyutlarını belirlemek yazımı okumanızı tavsiye ederim.

Oyun penceremin aktif olup/olmadığını nasıl anlarım?

Windows oyunları o anda çalışan tek uygulama olmayabilirler. Oyuncular, oyun oynarken, email adreslerini kontrol etmek, internette bir kelime araştırmak veya diğer oyuncular ile farklı ortamlarda sohbet etmek isteyebilirler.

Oyun penceresinden başka bir uygulamaya geçtiklerinde (yani oyun penceresi focus kaybettiğinde) oynadıkları oyunun durmasını (pause moduna geçmesini) isterler.

Oyun penceresinin Active veya InActive olduğunu kontrol etmemiz, Active değilse, Pause moduna geçmemiz gerekmektedir;

Not : Bu konu ile ilgili XNA Oyunu / Çanakkale Geçilmez - 1 yazımı okumanızı tavsiye ederim.

protected override void Update(GameTime gameTime)
{
    if (this.IsActive)
    {
        /// Sadece oyun penceresi aktif iken yapılması gereken işleri
        /// buraya yazıyoruz

        /// Joystik, klavye, mouse hareketlerini algılamak
        /// Yapay zeka görevlerini yürütmek gibi
    }

    base.Update(gameTime);
}

Oyun penceresinin başlığını nasıl değiştiririm?

protected override void Initialize()
{
    this.Window.Title = "Oyun oynamak içindir!";

    base.Initialize();
}


blog comments powered by Disqus

Engin Polat hakkında

Senior Software Engineer, @Microsoft

Ada ve Ege'nin babası ;)

Kategoriler

İstatistik

Makale Adedi: 484

Creative Commons Lisansı