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

时间:2009-04-06 07:04:26

标签: xna fullscreen

如何在XNA中调整窗口的大小。

默认以800x600分辨率开始。

4 个答案:

答案 0 :(得分:70)

从XNA 4.0开始,此属性现在位于GraphicsDeviceManager。 IE浏览器。这段代码将放在你游戏的构造函数中。

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();

答案 1 :(得分:58)

我发现你需要设置

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

当你在游戏类的构造函数中执行此操作时,它可以正常工作,但是当您尝试在构造函数外部执行此操作时,您还需要调用

GraphicsDevice.ApplyChanges();

此外,为了拥有全屏(在调试时无法正常工作),您可以使用

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

答案 2 :(得分:-1)

答案 3 :(得分:-1)

此解决方案适用于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();