如何在xna中设置窗口/屏幕大小?

我怎样才能调整在XNA窗口的大小。

默认情况下,它以800×600的分辨率开始。

从XNA 4.0开始,现在可以在GraphicsDeviceManager上find这个属性。 IE浏览器。 这段代码会在你的Game的构造函数中进行。

 graphics = new GraphicsDeviceManager(this); graphics.IsFullScreen = false; graphics.PreferredBackBufferHeight = 340; graphics.PreferredBackBufferWidth = 480; // if changing GraphicsDeviceManager properties outside // your game constructor also call: // graphics.ApplyChanges(); 

我发现你需要设置

 GraphicDevice.PreferredBackBufferHeight = height; GraphicDevice.PreferredBackBufferWidth = width; 

当你在游戏类的构造函数中这样做的时候,但是当你尝试在构造函数之外做这件事的时候,你也需要调用

 GraphicsDevice.ApplyChanges(); 

此外有全屏(debugging时不能正常工作),你可以使用

 if (!GraphicsDevice.IsFullScreen) GraphicsDevice.ToggleFullScreen(); 

此解决scheme在XNA 3.0中起作用。 把它放在你的游戏对象的构造函数中:

 // Resize the screen to 1024 x 768. IntPtr ptr = this.Window.Handle; System.Windows.Forms.Form form = (System.Windows.Forms.Form)System.Windows.Forms.Control.FromHandle(ptr); form.Size = new System.Drawing.Size(1024, 768); graphics.PreferredBackBufferWidth = 1024; graphics.PreferredBackBufferHeight = 768; graphics.ApplyChanges();