如何在XNA中调整窗口的大小。
默认以800x600分辨率开始。
答案 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();