【发布时间】:2013-01-31 21:14:32
【问题描述】:
我正在使用 Monogame 为 Windows 8 应用商店编写 XNA 游戏。我还在使用连接到外接显示器的笔记本电脑。自然,我的外接显示器的分辨率比我笔记本电脑的屏幕高得多。当我将应用程序从一个屏幕拖到另一个屏幕时,视口上的分辨率会发生变化。
在我的构造函数中,我正在使用
_graphics = new GraphicsDeviceManager(this);
_graphics.PreferredBackBufferHeight = 768;
_graphics.PreferredBackBufferWidth = 1366;
设置我的视口分辨率。当应用程序在任一监视器上运行时,这使得应用程序可以正常工作,但是将应用程序从一个监视器拖到另一个监视器会更改 GraphicsDeviceManager 上的分辨率。有没有办法阻止这种变化?
【问题讨论】:
-
什么意思,分辨率变了?它是增加了,还是只是窗口大小发生了变化?
-
我现在正在一台具有 1600x900 分辨率和外接全高清显示器的笔记本电脑上测试我的一个旧 XNA 应用程序。我正在拖动窗口,但分辨率没有改变,只有窗口的(物理)大小,这是由于屏幕分辨率的差异。我能给你的唯一真正的答案是,也许 Monogame 有一个错误,因为它仍处于 Beta 阶段,并没有真正使用 MS 代码(甚至没有逆向工程)。虽然我不会打赌。