XNA / C#游戏设置(菜单?)

时间:2010-03-25 17:45:20

标签: c# menu xna settings

这是我第一次尝试在C#中制作任何真正有趣的东西,我试图制作一个简单的表格或游戏画面,用户可以定义自定义分辨率/屏幕比例等,或自动检测最大屏幕尺寸/比例和输出?它是我的第一个游戏,所以我想知道它是否可能或者是否会出现任何重大问题,而不是仅仅将其设置为1366x768(我所有计算机的分辨率)。 提前感谢您的任何帮助。

2 个答案:

答案 0 :(得分:3)

您可以枚举默认的GraphicAdapter的DisplayModeCollection属性,以找到具有最大宽度/高度/宽高比的DisplayMode

类似的东西:

GraphicsAdapter defaultAdapter = GraphicsAdapter.DefaultAdapter;
DisplayMode maxMode = defaultAdapter.DisplayModeCollection[0];
foreach (DisplayMode enumeratedDisplay in defaultAdapter.DisplayModeCollection)
{
    //Test enumeratedDisplay against maxMode, setting maxMode to enumeratedDisplay if enumeratedDisplay is better
}

也许有更好的方法,但这肯定是找到最大值的一种方式。

或者,您可以使用相同的DisplayModeCollection并填充排序或列表的组合框,让用户自己选择。

如果上述代码不能以完全相同的形式运行,我很抱歉。我无法测试我目前的位置

答案 1 :(得分:1)

只需将PreferredBackBuffer设置为1366x768,如果图形设备可以处理该分辨率,您就可以获得它。否则你会得到一些缩小的东西。如果必须支持正在使用的电视,xbox将自动缩放。