Как установить размер окна/экрана в xna?
-
23-08-2019 - |
Вопрос
Как я могу настроить размер окна в 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();
Не связан с StackOverflow