2014-12-30 110 views
0

嗨,我需要找出我的遊戲窗口的查看區域的大小。我發現這個代碼:窗口的查看區域?

int height = GraphicsDevice.Viewport.Height; 

,但這個錯誤:未設置爲一個對象的實例 對象引用。

你能幫助我解決這個問題嗎?謝謝並對我的英語感到抱歉

回答

0

我會說GraphicsDevice.Viewport.Height爲空然後,還沒有inited。 GraphicsDevice位於Microsoft.Xna.Framework.Graphics命名空間內。

如果從遊戲類繼承嘗試:

this.GraphicsDevice.Viewport.Height 

this.Game.GraphicsDevice.Viewport.Height 

你在哪裏試圖填充這些整數?

加入例如

using Microsoft.Xna.Framework.Graphics; 
public class Game1 : Microsoft.Xna.Framework.Game 
{ 
    GraphicsDeviceManager graphics; 
    SpriteBatch spriteBatch; 
    public int screenWidth; 
    public int screenHeight; 

    public Game1() 
    { 
     graphics = new GraphicsDeviceManager(this); 
     Content.RootDirectory = "Content"; 

    } 

    protected override void Initialize() 
    { 
     screenWidth = GraphicsDevice.Viewport.Width; 
     screenHeight = GraphicsDevice.Viewport.Height; 
    } 
} 
0

高度看起來像它可能是一個類或東西,因爲它的大寫,但最大的線索是錯誤的地方,它說的對象引用。最後的.Height得到Viewport的高度對象。您需要訪問該對象的屬性/成員變量(可能命名爲height;找到它的最簡單方法是代碼完成)以將其分配給變量。