如何处理分辨率更改320x480 => 640x960与游戏有关

时间:2012-04-27 09:24:18

标签: iphone ios ios4 unity3d

我决定为我的iPod游戏提供2套图像。一个用320x480,另一个用于视网膜。我可以在它们之间愉快地切换,但这迫使我添加额外的代码来处理分辨率的变化。

我的游戏在网格上的屏幕空间中播放,因此,如果我有32个像素图块,我将不得不在低分辨率中使用32个偏移,在视网膜中使用64个偏移(因为分辨率加倍)。对于一个简单的游戏,这可能没问题,但其他更复杂的游戏呢?如果不根据目标分辨率硬编码,你如何处理这个问题。

当然,绕过这个的简单方法就是发布320x480版本,让硬件升级,但由于图像模糊,这不是我想要的。我在这里有点迷失。

2 个答案:

答案 0 :(得分:2)

这是自动的。您只需要为视网膜分辨率添加后缀为“@ 2x”的图像文件。 关于像素,从您的程序中,您可以使用由系统转换为像素的点。对于iphone视网膜和非视网膜,屏幕尺寸为320x480点。

答案 1 :(得分:2)

如果必须,您可以通过将像素/点位置与视图的contentScaleFactor相乘或分割,轻松地将点从像素转换为像素(反之亦然)。但是,通常这是由您自动完成的,如果您只是使用点而不是像素。