我们正在使用MonoGame为 iOS 和 Windows Phone 7(然后最终是 Android)进行开发。
我们的游戏只能横向运行。
如果在 windows 上的 WP7 模拟器中运行,我们的图形设备设置就像这样,在我们游戏的 Initialize() 中:
graphics = new GraphicsManager(this);
graphics.PreferredBackBufferWidth = 480;
graphics.PreferredBackBufferHeight = 320;
graphics.SupportedOrientations = DisplayOrientation.LandscapeLeft | DisplayOrientation.LandscapeRight;
这不是 WP7 的确切屏幕尺寸(我们现在在右侧有一个黑条,这不是我们主要关心的问题),但为我们提供了可以在 iPhone 上运行的正确屏幕尺寸。为了让 iPhone 上的所有内容都能正确显示,我们必须颠倒 backbuffer 的 Width 和 Height,这看起来很奇怪。
我们还发现我们必须在整个游戏中反转任何 X/Y 坐标和宽度/高度。
这很麻烦。MonoGame 到底在做什么?
对我们处理这两个平台之间的明显调整大小的建议是什么?如果可能的话,我们希望以某种方式使用相同的坐标。
编辑: GitHub 上最新的 2.0 版本的 MonoGame 不再有方向问题。
TouchPanel 手势还没有完全实现,所以我们只是避免这样做。