Вопрос

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

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

Это было полезно?

Решение 2

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

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

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

GraphicsDevice.ApplyChanges();

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

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

Другие советы

Начиная с 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();

Тебе стоит посмотреть на это, http://forums.xna.com/forums/p/1031/107718.aspx.

Это решение работает в 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();
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top