XNA 禁用自动适应屏幕
XNA Disable Auto Fit to Screen
我正在使用 XNA 4.0 框架创建一个将投影到控制室的商业智能屏幕。屏幕本身的设计适合串联两台 1920 * 1080 投影仪。
目前我定义的屏幕分辨率如下:
graphics.PreferredBackBufferWidth = 3840;
graphics.PreferredBackBufferHeight = 1080;
但是,如果我 运行 解决方案,XNA 会自动 'squashes' 二维图形,以便整个屏幕适合我的 1920 * 1080 主屏幕。如何在 XNA 中禁用此 're-sizing' 功能?我想要实现的是一个大屏幕,我可以在两个 1920 * 1080 显示器上显示。不是适合一台显示器的压扁屏幕。
请注意,我的 XNA 知识非常有限。我正在使用 SpriteFonts 和 Texture2D 创建图形对象
如果如果您在游戏 class 构造函数上设置这些值并且已配置屏幕以在它们之间扩展内容,则您的解决方案应该有效。
另一种不太推荐的方法是在 Initialize
或 LoadContent
方法上应用更改。
为此,只需在设置尺寸后添加以下行:
this.graphics.ApplyChanges();
所以你的整个事情看起来像这样:
protected virtual void Initialize()
{
this.graphics.PreferredBackBufferWidth = 1024;
this.graphics.PreferredBackBufferHeight = 600;
this.graphics.ApplyChanges();
}
如果您不想使用 ApplyChanges 方法,可以在 class 构造函数上设置值 而无需 调用此方法。
此外,请务必检查 graphics.IsFullScreen
property 是否设置为 true。
我正在使用 XNA 4.0 框架创建一个将投影到控制室的商业智能屏幕。屏幕本身的设计适合串联两台 1920 * 1080 投影仪。
目前我定义的屏幕分辨率如下:
graphics.PreferredBackBufferWidth = 3840;
graphics.PreferredBackBufferHeight = 1080;
但是,如果我 运行 解决方案,XNA 会自动 'squashes' 二维图形,以便整个屏幕适合我的 1920 * 1080 主屏幕。如何在 XNA 中禁用此 're-sizing' 功能?我想要实现的是一个大屏幕,我可以在两个 1920 * 1080 显示器上显示。不是适合一台显示器的压扁屏幕。
请注意,我的 XNA 知识非常有限。我正在使用 SpriteFonts 和 Texture2D 创建图形对象
如果如果您在游戏 class 构造函数上设置这些值并且已配置屏幕以在它们之间扩展内容,则您的解决方案应该有效。
另一种不太推荐的方法是在 Initialize
或 LoadContent
方法上应用更改。
为此,只需在设置尺寸后添加以下行:
this.graphics.ApplyChanges();
所以你的整个事情看起来像这样:
protected virtual void Initialize()
{
this.graphics.PreferredBackBufferWidth = 1024;
this.graphics.PreferredBackBufferHeight = 600;
this.graphics.ApplyChanges();
}
如果您不想使用 ApplyChanges 方法,可以在 class 构造函数上设置值 而无需 调用此方法。
此外,请务必检查 graphics.IsFullScreen
property 是否设置为 true。