调试窗口大小不会随着首选的后缓冲区约束而改变

问题描述

在VS 2019中使用Monogame OpenGL,并且按照常规方式应用了以下代码来设置大小限制。

graphics = new GraphicsDeviceManager(this);
       
graphics.PreferredBackBufferWidth = 1280;
graphics.PreferredBackBufferHeight = 720;

我认为这是行不通的,并且试图解决问题已经有一段时间了,但是我发现的每个解决方案都告诉我这是获得我想要的东西的正确方法

然后我对其进行了测试,但是使用缓冲区的宽度/高度在绘制的对象上设置了新的Vector2,并且它们出现在屏幕外,因此不是它不起作用,而是所显示的调试窗口没有调整大小正确显示整个新窗口。我敢肯定这很简单,但是我想念的是什么?如何获得显示整个图形设备的窗口?

解决方法

您需要将更改应用到graphicsDevice:

graphics.ApplyChanges();

如果您希望它为全屏显示(当然,请在应用更改之前执行此操作,这样才能应用该更改):

graphics.IsFullScreen = true;

希望有帮助!

,

我有同样的问题。重写Initialize方法并将其设置在那里而不是在构造函数中对我有用:

protected override void Initialize()
{
    _graphics.PreferredBackBufferWidth = 100;
    _graphics.PreferredBackBufferHeight = 100;
    _graphics.ApplyChanges();

    base.Initialize();
}