这种纹理共享技术在我的通用iOS应用程序中有效吗?

这种纹理共享技术在我的通用iOS应用程序中有效吗?,ios,textures,universal,retina-display,Ios,Textures,Universal,Retina Display,我正在创建一个通用的iOS游戏,我正在尝试想出一个好的系统来共享纹理。在我的例子中,所有iPhone视网膜纹理都与我的iPad纹理大小完全相同。现在我有iPad和iPhone内容的单独目录,这是非常多余的。我也希望有iPad3的内容在我的项目 我的想法是为每个纹理提供三种不同的版本: texture - non-retina iPhone texture@2x - retina iPhone / non-retina iPad texture@2x@2x - retina iPad 当iPho

我正在创建一个通用的iOS游戏,我正在尝试想出一个好的系统来共享纹理。在我的例子中,所有iPhone视网膜纹理都与我的iPad纹理大小完全相同。现在我有iPad和iPhone内容的单独目录,这是非常多余的。我也希望有iPad3的内容在我的项目

我的想法是为每个纹理提供三种不同的版本:

texture - non-retina iPhone
texture@2x - retina iPhone / non-retina iPad
texture@2x@2x - retina iPad

当iPhone想要加载纹理时,我会将其指向基本纹理。当iPad想要加载一个纹理时,我会在上面加上一个@2x。这一方案是否也能让iPad3找到合适的用户texture@2x@2x?

iPad视网膜和iPhone视网膜不需要单独的图形,它们都是@2x

我测试了这项技术,效果非常好。我没有iPad3可以直接测试texture@2x@2倍就行了。然而,我拍摄了一张非视网膜图像,并称之为image@2x. 然后我制作了一个视网膜版本,并称之为image@2x@2倍。iPhone4加载了@2x@2x我觉得是视网膜,一切都很好。我想iPad3也可以做同样的事情,没有问题。通过共享所有冗余内容,我的通用应用程序的大小从44MB减少到29MB

我不认为苹果不鼓励通用版本,它被记录为“首选”。我想你不明白我的问题。我知道iPad视网膜和iPhone视网膜都需要@2x。在我的例子中,我想让iPad加载iPhone的视网膜图像。这将节省我这么多的空间,因为他们是完全相同的文件。我担心的是,我能告诉iPad加载那个文件吗?iPad3会找到那个文件吗@2x@2x对不起,我想我误解了,但我认为你们的计划不会奏效@2x@2x.