【发布时间】:2013-03-10 22:36:09
【问题描述】:
我正在编写一个使用 MonoGame 3.01 和 SwapChainBackgroundPanel 与 XAML 集成的 Windows 8 游戏。 我的资产针对 16:9 纵横比进行了优化,但由于 Win8 设备分辨率的变化,我也需要支持 4:3。
目前我面临以下问题:
-
将游戏拖到第二台显示器不会调整屏幕大小
_graphics.PreferredBackBufferWidth = (int)width; _graphics.PreferredBackBufferHeight = (int)height; _graphics.ApplyChanges();
在 SwapChainBackgroundPanel (GamePage) 中,我对大小变化做出反应
void GamePage_SizeChanged(object sender, SizeChangedEventArgs e)
{
Game.SetBackBuffer(e.NewSize.Width, e.NewSize.Height);
}
但什么都没有发生,似乎只应用了初始(游戏初始化后)后台缓冲区更改。
- 有没有办法保持纵横比而不是拉伸填充,例如。通过信箱?
在 Windows 8(包括快照视图)上支持多种分辨率的最佳做法是什么?
编辑:澄清一下 - GamePage_SizeChanged 正在执行,它只是 _graphics.ApplyChanges() 似乎没有任何效果
【问题讨论】:
标签: windows-8 xna winrt-xaml monogame