C# 如何为Xbox安装480p(宽屏)(使用XNA)?

C# 如何为Xbox安装480p(宽屏)(使用XNA)?,c#,xna,xbox,C#,Xna,Xbox,我在MSDN上读到Xbox 360编程注意事项,它显示480p(宽屏)和480p(普通)都使用640x480。我的游戏在所有16:9分辨率上都很好,在其他分辨率上也很好,但是游戏看起来非常不同(因为它是2D的)。我在720p和1080p上测试了它,我发现如果我将分辨率设置为1080p,它在720p电视上仍然可以工作,而且一切看起来都和1080p一模一样(我认为Xbox会自动调整整个游戏的大小以适应720p) 但我想知道Xbox还支持哪些其他纵横比。我还想知道如何调整分辨率,使其适合480p(宽屏

我在MSDN上读到Xbox 360编程注意事项,它显示480p(宽屏)和480p(普通)都使用640x480。我的游戏在所有16:9分辨率上都很好,在其他分辨率上也很好,但是游戏看起来非常不同(因为它是2D的)。我在720p和1080p上测试了它,我发现如果我将分辨率设置为1080p,它在720p电视上仍然可以工作,而且一切看起来都和1080p一模一样(我认为Xbox会自动调整整个游戏的大小以适应720p)

但我想知道Xbox还支持哪些其他纵横比。我还想知道如何调整分辨率,使其适合480p(宽屏)

编辑:我目前正在使用下面的代码(因为我的游戏是为1080p设计的)

“Xbox 360系统支持HDTV和普通电视机,支持多种分辨率(480p、720p、1080i和1080p)和多种纵横比(4:3、16:9和16:10).控制台会自动将游戏的输出缩放到用户显示器的分辨率,如果游戏使用宽屏纵横比,则如果用户显示器不宽屏,控制台会自动添加“黑条”(字母框)

来源:

“Xbox 360系统支持HDTV和普通电视机,支持多分辨率(480p、720p、1080i和1080p)和多宽高比(4:3、16:9和16:10).控制台会自动将游戏的输出缩放到用户显示器的分辨率,如果游戏使用宽屏纵横比,则如果用户显示器不宽屏,控制台会自动添加“黑条”(字母框)


来源:

如果XBox360的游戏分辨率降低,请转到Xbox上的设置,找到屏幕大小并将其安装到电视上。如果这不起作用,而且你看不到更好的改进,那么试着通过使用对比度/亮度/清晰度/颜色来调整你的电视,使其性能更好。如果这仍然不能改善游戏的外观,那么很可能是游戏映射。如果将贴图设置得更高,效果会更好,但会随着时间的推移降低系统的渲染速度,从而降低系统的完整性,直到遇到严重的关闭或“死亡之环”。所以有时候纹理看起来不完美,或者凹凸贴图看起来不好,这是因为控制台一次只能处理这么多变量和渲染。参考Fallout3,看看纹理,从远处看它会很好看,但近距离看你会发现很难阅读海报、产品、nuka可乐、瓶盖等。我发现了一大堆我认为可能更好的东西,但当游戏只是工作而不是超级完美时,我会更满意

这可能有点离题,但我想我今天应该参与一些事情


真诚的:Joel D.V.c2002-2013

如果XBox360的游戏分辨率降低,请转到Xbox上的设置,找到屏幕大小并将其安装到电视上。如果这不起作用,而且你看不到更好的改进,那么试着通过使用对比度/亮度/清晰度/颜色来调整你的电视,使其性能更好。如果这仍然不能改善游戏的外观,那么很可能是游戏映射。如果将贴图设置得更高,效果会更好,但会随着时间的推移降低系统的渲染速度,从而降低系统的完整性,直到遇到严重的关闭或“死亡之环”。所以有时候纹理看起来不完美,或者凹凸贴图看起来不好,这是因为控制台一次只能处理这么多变量和渲染。参考Fallout3,看看纹理,从远处看它会很好看,但近距离看你会发现很难阅读海报、产品、nuka可乐、瓶盖等。我发现了一大堆我认为可能更好的东西,但当游戏只是工作而不是超级完美时,我会更满意

这可能有点离题,但我想我今天应该参与一些事情


真诚的:Joel D.V.c2002-2013

现代电视自动调整图像大小以适应屏幕。也许你应该允许他们这么做?现代电视会自动调整图像大小以适应屏幕。也许你应该允许他们这么做?
    float ratio = graphics.GraphicsDevice.DisplayMode.AspectRatio;
    if (ratio == (float)16 / (float)9)
    {
        graphics.PreferredBackBufferWidth = 1920;
        graphics.PreferredBackBufferHeight = 1080;
    }
    else if (ratio == (float)4 / (float)3)
    {
        graphics.PreferredBackBufferHeight = 1080;
        graphics.PreferredBackBufferWidth = 1440;
    }
    else
    {
        graphics.PreferredBackBufferHeight = 1080;
        graphics.PreferredBackBufferWidth = (int)(1080 * ratio);
    }