Как мне установить размер окна / экрана в xna? - PullRequest
53 голосов
/ 06 апреля 2009

Как мне настроить размер окна в XNA.

По умолчанию он начинается с разрешением 800x600.

Ответы [ 4 ]

70 голосов
/ 14 апреля 2010

Начиная с XNA 4.0, это свойство теперь находится на GraphicsDeviceManager. То есть. этот код будет добавлен в конструктор вашей игры.

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();
58 голосов
/ 06 апреля 2009

Я узнал, что вам нужно установить

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

Когда вы делаете это в конструкторе класса игры, это работает, но когда вы пытаетесь сделать это вне конструктора, вам также нужно вызвать

GraphicsDevice.ApplyChanges();

Кроме того, чтобы иметь полноэкранный режим (который на самом деле не работает правильно при отладке), вы можете использовать

if (!GraphicsDevice.IsFullScreen)
   GraphicsDevice.ToggleFullScreen();
0 голосов
/ 05 февраля 2010

Это решение работает в 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();
0 голосов
/ 27 июля 2009

Вы должны посмотреть на это, http://forums.xna.com/forums/p/1031/107718.aspx.

...