2011-10-21 51 views
3

我们正在使用MonoGame开发iOS和Windows Phone 7(以及最终Android)。iOS上的MonoGame和MonoTouch - 风景定位

我们的游戏只在横向上运行。

如果在Windows上的WP7模拟器运行时,我们的显卡设备设置像这样,在初始化()在我们的游戏:

graphics = new GraphicsManager(this); 
graphics.PreferredBackBufferWidth = 480; 
graphics.PreferredBackBufferHeight = 320; 
graphics.SupportedOrientations = DisplayOrientation.LandscapeLeft | DisplayOrientation.LandscapeRight; 

这不是WP7确切的屏幕尺寸(我们有一个黑色的现在右侧的酒吧,这不是我们主要关心的问题),但是可以为我们提供在iPhone上运行的正确屏幕尺寸。为了在iPhone上正确查看所有内容,我们必须颠倒backbuffer的宽度和高度,这看起来很奇怪。

我们还发现我们必须在整个游戏中反转任何X/Y坐标和宽度/高度。

这是一个很大的麻烦来处理。 MonoGame在这里做什么?

建议我们如何处理这两个平台之间的明显调整大小?如果可能的话,我们想以某种方式在整个电路板上使用相同的坐标。

编辑: 在GitHub上的最新的2.0版本的MonoGame不再有定位问题。

TouchPanel手势尚未完全实现,所以我们只是避免这种情况。

+0

不知道MonoGame在做什么,但替代方法[ExEn](http://andrewrussell.net/exen/)可以很好地处理这个问题。它完全支持iOS上的'SupportedOrientations'设置。它将处理所有的内部坐标转换(就像WP7)。 (完全披露:ExEn是我的图书馆。) –

+0

我打算通过您的电子邮件地址联系该链接,我对此有几个疑问。 (MonoGame确实存在一些问题,使我们考虑付费选项) – jonathanpeppers

回答

4

您似乎正在使用codeplex上的旧版MonoGame源代码,ExEn实际上是从中分离出来的并且与其进行商用。最新的OpenSource MonoGame源代码和正确的主页是https://github.com/mono/MonoGame

您可以尝试从那里的源代码版本,并让我知道如果这仍然是一个问题。我们正在为MonoGame v1.6发布准备,如果它仍然是一个问题,我想要修正它。

+0

我正在使用GitHub的源代码。我只是链接到他们的codeplex页面,B/C它解释了项目更好一点。 – jonathanpeppers

+0

我有一个理论,我将在明天进行测试,我认为如果您只在Info.plist中为肖像设置应用,它可能会有效。我会测试一下,让你知道我的结果。 – jonathanpeppers

+0

顺便说一下,大部分MonoGame开发者都在irc.gnome.org或irc.gimp.org上的#MonoGame频道上闲逛。即使Miguel De Icaza偶尔也会问我们如何做。 – Dominique