我已经创建了一个目标为800x480分辨率的游戏,但我对让它适应其他WP7分辨率很感兴趣。此外,我听说游戏可以通过Mono和ExEn移植到iPhone和安卓系统上,从而打开了大量其他屏幕分辨率的大门。
处理这个问题的正确方法是什么?我想让游戏变得足够智能,以检测屏幕大小,并改变资产,使其看起来尽可能接近原始版本,并发挥相同的效果。
这是一个2D游戏,我认为理想的情况是所有分辨率都有单独的图像,但为了防止将来发生这种情况,这是行不通的。我想过有一个800x480的基线,在开始时检测大小,并改变所有实体的边界来缩放,然后简单地绘制这些目标的纹理。这将允许我正确地进行碰撞检测以及缩放纹理,但可能有更好的方法。
无论如何,我希望我已经清楚地解释了这个问题。如果没有,我将在收到评论后编辑问题。
我很感谢你的意见。
发布于 2012-04-24 22:42:56
当Windows Phone可能支持多分辨率时(或者寻找这个答案来编写真正的多分辨率引擎),为了那些在这里登陆的人的利益,我就是这样做的。
我列举/检查可用的分辨率,并为我已经知道的宽高比的分辨率设置正交投影。为此,我硬编码了一个长宽比的表,我已经在上面测试了我的游戏,以及每个宽高比的“参考”宽度/高度。然后我查看当前请求的分辨率,找到它的纵横比,在我的表格中查找最接近的最低匹配的纵横比,并设置一个正交投影(居中-如果高度匹配,但宽度不匹配,反之亦然,字母框自动发生)和视区。
例如:我为qHD (960x540)、WXGA ( 1280x720 )和FHD (1920x1080)设置了1280x720的正交投影,因为它们都有相同的纵横比。
在宽高比为1.5的SVGA和DVGA (960x640)显示器上,我会设置SVGA 800x600的分辨率,这样一切看起来都没问题。
上面的方法确保了,如果您根据主要目标设备使用的纵横比设计资产,它们将不会看到任何挤压。请注意,此方法是而不是,用于确定资产的实际分辨率。
发布于 2012-04-24 21:13:40
目前WP仅支持800 x 480分辨率。在未来,当不同的分辨率被允许时,已经有关于自动缩放的讨论。到目前为止,还没有什么结果,我建议你不要着急。
编辑:感谢您的提醒..重读这篇文章。是的,Mono允许你同时为安卓和iOS编写代码,你还可以分享大量的代码,http://xamarin.com/以获取更多信息。
其想法是拥有一个通用库(引擎等),然后优化UI以适应不同的平台。
https://stackoverflow.com/questions/10298046
复制相似问题