在iPhone 6+模拟器上运行项目时我注意到的是模拟器没有拾取正确的图像。而不是@ 3x,使用@ 2x图像。
我尝试重置模拟器内容和设置,清理项目并从组织者中删除派生数据,但同样的事情仍然发生。
当我在路径中查找myapp.app(显示包内容)中的myatlas.atlasc文件夹时:
/Users/username/Library/Developer/Xcode/DerivedData/appname-appspecificgeneratedstring/Build/Products/Debug-iphonesimulator/appname.app
我可以看到myatlas.atlasc(请注意,这不是myatlas.atlas),里面有两个文件而不是三个。 atlas.1.png 和 atlas.1@2x.png 。
我想应该有三个文件,一个用于1 x图像,一个用于@ 2x图像,另一个用于@ 3x图像。
第一张图片( atlas.1.png )的内容均为@ 1x图片和@ 3x图片。 atlas.1@2x.png 的内容是@ 2x图片。
我接下来尝试的是使用Texturepacker为我们正确生成地图集。生成的文件是atlasfilename.1.png,atlasfilename.1 @ 2x.png和atlasfilename.1@3x.png。还有一个正确生成的.plist文件。我将atlasc文件夹添加到我的项目中并选中“创建文件夹引用”而不是“创建组”。但仍然模拟器选择@ 2x图像。
然后我尝试制作我自己的名为HD_atlas.atlas和XHD_atlas.atlas的地图集,并根据屏幕比例因子选择右图集。在这种情况下,选择了合适的地图集,但我在屏幕上显示了MissingResource.png。如果我将@ 3x图像命名为image.png而不是image@3x.png并将它们放在XHD_atlas.atlas文件夹中,则会加载@ 3x图像,但它会大3倍。现在,在这个问题得到修复之前,我最终使用的是@ 2x资产而不是@ 3x,因为即使它已经升级,所有内容看起来仍然相当不错。
我想这不应该是这样的,如果有人知道如何让Spritekit生成正确的地图集或者为了使用@ 3x资产而有一些解决方法,请随时发表建议。