XNA禁用自动适应屏幕

时间:2015-06-09 12:24:51

标签: c# .net xna-4.0

我正在使用XNA 4.0框架创建一个将在控制室中投影的商业智能屏幕。屏幕本身设计为适合串联的两台1920 * 1080投影机。

目前我正在定义屏幕的分辨率如下:

    graphics.PreferredBackBufferWidth = 3840;
    graphics.PreferredBackBufferHeight = 1080;

但是,如果我运行解决方案,XNA会自动“压缩”2D图形,以便整个屏幕适合我的主要1920 * 1080屏幕。如何禁用XNA中的“重新调整大小”功能?我想要实现的是一个大屏幕,我可以在两台1920 * 1080显示器上显示。不是适合一台显示器的压扁屏幕。

请注意,我的XNA知识非常有限。我正在使用SpriteFonts和Texture2D来创建图形对象

1 个答案:

答案 0 :(得分:1)

您的解决方案应该如果您正在Game类构造函数中设置这些值,并且已配置屏幕以在它们之间扩展内容。

另一种(不是真正推荐的)方法是在InitializeLoadContent方法上应用更改。

为此,请在设置尺寸后添加以下行:

this.graphics.ApplyChanges();

所以你的整个事情看起来像这样:

protected virtual void Initialize()
{
    this.graphics.PreferredBackBufferWidth = 1024;
    this.graphics.PreferredBackBufferHeight = 600;
    this.graphics.ApplyChanges();
}

如果您不想使用ApplyChanges方法,则可以在类构造函数上设置值,而无需调用此方法。

另外,请务必检查graphics.IsFullScreen property是否设置为true。