How do I set the window / screen size in xna?

2019-01-21 09:34发布

问题:

How can I adjust the size of the window in XNA.

Default it starts in a 800x600 resolution.

回答1:

As of XNA 4.0 this property is now found on the GraphicsDeviceManager. Ie. this code would go in your Game's constructor.

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


回答2:

I found out that you need to set the

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

When you do this in the constructor of the game class it works, but when you try do to this outside the constructor you also need to call

GraphicsDevice.ApplyChanges();

Furthermore to have fullscreen (which is not really working correctly while debugging) you can use

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


回答3:

You should look at this, http://forums.xna.com/forums/p/1031/107718.aspx.



回答4:

This solution works in XNA 3.0. Just put it in your game object's constructor:

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