我用瓷砖制作了一个基本的地形图。我使用JSTileMap和SpriteKit在场景中获取地图。据我所知,JSTileMap (而不是SKTexture)会自动处理视网膜和不同的设备。到目前为止,我还没有取得好的结果,以下是我的设置:
我有一个.tmx文件是以基本解析方式创建的,它使用map.png作为贴片集。.tmx存在于项目中,但我故意不添加map.png (我不想支持非视网膜iPhones)。
在这个项目中,我只添加了以下..png的: map@2x~iphone.png (视网膜iPhones,使用48x48块) map~ipad.png (非视网膜iPads,使用48x48 tiles) map@2x~ipad.png (视网膜iPads,使用96x96块)
下面是我所得到的结果(在清理生成、重置内容和在模拟器上设置之后):
视网膜iPhone -瓷砖是错误的斑点
iPad -没有显示tilemap,JSTileMap有解析错误
视网膜iPad -错误部位的瓷砖
如果我只使用普通的香草map.png (带有48x48块瓷砖):
视网膜iPhone -瓷砖图显示得很好,但当然太大了。
iPad -贴图显示完美
视网膜iPad -瓷砖贴图显示完美和缩放。
我知道我只需要一个24x24平铺的map.png,很明显,它会扩展所有的东西。我宁愿不使用比例瓷砖套,因为质量将受到影响。
提前谢谢。
E
发布于 2014-01-09 01:43:32
我能够缩小SKTexture忽略@2x文件扩展名的ipad文件扩展名的范围。在试图为iPhone视网膜、iPad和iPad视网膜构建一个贴片地图系统时,这只会带来更多的麻烦。
我决定一起避免这个问题。我现在没有在我的项目中使用通用应用程序。我有一个iPhone项目和一个单独的iPad项目。这样,我只需在每个项目中使用@2x文件扩展名即可使用Retina。
这是完全有效的(容易得多)。对那些只为视网膜iPhones而建的人说句话..tmx文件中一半的瓷砖高度和宽度大小,否则您将有一个伟大的时间尝试处理内容缩放。
发布于 2014-01-08 18:00:38
因为您使用的是雪碧套件,这需要iOS 7,所以实际上没有非Retina iPhone来针对它。
在这种情况下,如果不提供没有@2x后缀的相同图像,就不能使用@2x后缀图像。因此,解决方案可能就像提供没有@2x后缀的Retina iPhone映像一样简单。您可能甚至不需要使用~iphone后缀,因为其他两种类型的资产将只供iPad设备使用。
这是基于对另一个问题的回答。我还没亲自核实过。
https://stackoverflow.com/questions/21001806
复制相似问题