0

我创建了一款以 800 x 480 分辨率为目标的游戏,但对让它适应其他 WP7 分辨率产生了兴趣。另外,我听说可以通过 Mono 和 ExEn 将游戏移植到 iPhone 和 Android,从而打开大量其他屏幕分辨率。

处理这个问题的正确方法是什么?我想让游戏足够智能以检测屏幕尺寸并更改资产以使其看起来尽可能接近原始并且玩相同的游戏。

这是一款 2D 游戏,我认为理想的情况是为所有分辨率提供单独的图像,但为了面向未来,这是行不通的。我想有一个 800 x 480 的基线,在开始时检测大小,并改变我所有实体的边界以缩放,然后简单地将纹理绘制到这些目标。这将使我能够正确地进行碰撞检测以及缩放纹理,但可能有更好的方法。

无论如何,我希望我已经清楚地解释了这个问题。如果没有,我会在评论进来后编辑问题。

感谢您的意见。

4

2 回答 2

3

为了那些在 Windows Phone 可能支持多种分辨率(或寻找这个答案以编写真正的多分辨率引擎)时登陆这里的人们的利益,我就是这样做的。

我枚举/检查可用的分辨率,并为具有我已经知道的纵横比的分辨率设置正交投影。为此,我硬编码了一张我测试过我的游戏的纵横比表,以及每个纵横比的“参考”宽度/高度。然后我查看当前请求的分辨率,找到它的纵横比并在我的表格中查看最接近的匹配纵横比并设置一个正射投影(居中 - 所以如果高度匹配但宽度不匹配,反之亦然,字母-boxing 自动发生)和相应的视口。

例如:我会为 qHD (960x540)、WXGA (1280x720) 和 FHD (1920x1080) 设置 1280x720 的正射投影,因为它们都具有相同的纵横比。

在纵横比为 1.5 的 SVGA 和 DVGA (960x640) 显示器上,我会设置 SVGA 800x600 分辨率,所以一切看起来都不错。

上述方法可确保如果您根据主要目标设备使用的纵横比设计资产,它们将不会看到任何挤压。请注意,此方法不适用于确定资产的实际分辨率。

于 2012-04-24T14:42:55.927 回答
-1

目前 WP 仅支持 800 x 480 分辨率。将来当允许不同的分辨率时,就会谈到自动缩放。到目前为止还没有任何结果,我建议你放轻松。

编辑:感谢您的提醒..重新阅读帖子。是的,Mono 允许您为 Android 和 iOS 编写代码,并且您可以共享大量代码http://xamarin.com/以获取更多信息。

这个想法是拥有一个通用库(引擎等),然后优化 UI 以适应不同的平台。

于 2012-04-24T13:13:40.373 回答