我对XNA有点陌生,但是我会尽力解释我的问题。

我想通过设置graphics.PreferredBackBufferHeightgraphics.PreferredBackBufferWidth来更改游戏中的分辨率。

通过将graphics.PreferredBackBufferWidth设置为1920,并且将graphics.PreferredBackBufferHeight设置为1080开始,游戏将进行初始化。

但是,通过按一个按钮,我要将graphics.PreferredBackBufferWidth设置为1280,将graphics.PreferredBackBufferHeight设置为720。(两个分辨率均为16:9)

但是,如您所料,在Initialize方法中初始化graphics.PreferredBackBufferWidthgraphics.PreferredBackBufferHeight可以正常工作。
但是,通过更改两个值,然后更改graphics.ApplyChanges(),进行OUTSIDE Initialize,屏幕要么以奇怪的方式拉伸,要么根本无法正常显示。


如何在初始化之外更改BackBuffer的宽度/高度?
如果我在Initialize中进行了设置,为什么它不一样?
我是否需要再次致电Initialize?

最佳答案

基于与OP在注释部分的对话,似乎出现了将图形设置为全屏的问题,因为它会拉伸屏幕以处理较小的分辨率。

关于c# - 在XNA中更改BackBuffer的高度/宽度-不良结果,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18663311/

10-15 23:54