创建iOS通用应用程序,如何检测所有5个分辨率?
标题很好地说明了这一点。我正在创建一个iOS应用程序,正在添加艺术资产。我有5个iPhone低分辨率(iPhone 3GS或更低)、iPhone视网膜(iPhone 4或更高)、iPhone 5、iPad低分辨率和iPad高分辨率的背景 处理基于设备加载的背景的最佳方法是什么 还有,有没有一种方法可以在模拟器中测试所有5个组件的外观?当然,现在你只能测试iPhone和iPad创建iOS通用应用程序,如何检测所有5个分辨率?,ios,cocos2d-iphone,Ios,Cocos2d Iphone,标题很好地说明了这一点。我正在创建一个iOS应用程序,正在添加艺术资产。我有5个iPhone低分辨率(iPhone 3GS或更低)、iPhone视网膜(iPhone 4或更高)、iPhone 5、iPad低分辨率和iPad高分辨率的背景 处理基于设备加载的背景的最佳方法是什么 还有,有没有一种方法可以在模拟器中测试所有5个组件的外观?当然,现在你只能测试iPhone和iPad 此外,这是一个游戏,如果这会有所不同的话,我将使用cocos2d。每个图像可以有两个版本 image.png,image
此外,这是一个游戏,如果这会有所不同的话,我将使用cocos2d。每个图像可以有两个版本 image.png,image@2x.png 系统将自动拾取image@2x.png如果是视网膜设备,请参考image.png
同样在模拟器中,您可以进入硬件->设备,然后选择是否要查看视网膜。如果您使用的是cocos2d,则需要在视网膜分辨率图像上使用-hd后缀。查看他们的网站,了解更多信息
我自己并不使用cocos2d,但从它的声音来看,iphone5的屏幕分辨率处理方式与iPad的屏幕分辨率处理方式相同,通过相应地调整布局。stackoverflow中的搜索应该会为cocos2d和iPhone5带来一些不错的结果。正如@Srikanth提到的,include image.png&image@2x.png,系统将自动为高分辨率屏幕选择高分辨率屏幕,为低分辨率屏幕选择低分辨率屏幕。这在iPhone和iPad上都适用 对于iPhone5,屏幕仍然是视网膜。系统将自动选择您的-@2x图像。您可以在Interface Builder或代码中定义自动布局(或弹簧和支柱) 如果出于某种原因,你绝对需要一个特定于iPhone5类型屏幕的图像,我相信你可以添加一个图像-568h@2x.png对于4英寸屏幕,系统将自动选择该选项 我能想到的唯一原因是你会包括-568h@2x捆绑包中的图像用于启动图像:您需要一个特定于4英寸屏幕的图像
另外,关于模拟器:您可以测试所有5个分辨率。在模拟器菜单栏(屏幕顶部)中,选择硬件>设备。在这里,您可以选择所有5种分辨率 对于cocos2D iPhone,默认后缀如下:
- 非视网膜iPhone:image.png
- 视网膜iPhone:image-hd.png
- 非视网膜iPad:image-iPad.png
- 视网膜iPad:image-ipadhd.png
CGRect screenBounds = [[UIScreen mainScreen] bounds];
if (screenBounds.size.height == 568) {
// code for iPhone 5
} else {
// code for all other iOS devices
}
正如其他人所说,您可以通过模拟器(硬件->设备)测试所有设备。iPhone 5有什么特别的功能吗?因为屏幕更长。我们也有一个特定于该尺寸的图像。谢谢,我不这么认为。屏幕尺寸可能更大,但分辨率仍然是视网膜。顺便说一句,处理所有这些图像的最佳方法是画图(或从设计师处获得)*-ipadhd图像,并在本地使用简单脚本将其转换为-ipad和-hd。@anatoliy_v:ipad和iPhone的纵横比不同,因此我通常让设计师为retina ipad和retina iPhone创建图像。然后,我使用TexturePacker对非视网膜设备的两组图像进行缩放。