当项目只有@ 2x图像,因为它只针对视网膜显示设备,图集Sprite Kit图集会使RGBA8888_COMPRESSED设置的比例误差与PVR纹理一起使用. RGBA8888_PNG(默认)有时工作正常.
在切换到地图集之前,我已经将一组中的所有@ 2x图像加载到
sprite = [SKSpriteNode spriteNodeWithImageNamed:@"theImage.png"];
没问题.正确尺寸
现在用图集和RGBA8888_COMPRESSED,我得到了SKTexture,图像太大了.精确相同的节点和配置.只使用地图集中的SKTexture.
为什么会发生这种情况?
解决方法
地图册图片应该有@ 2x后缀,但不包含在其中的文件.
不行:
atlas.png contains theImage@2x.png
正确使用:
atlas@2x.png contains theImage.png
我甚至不知道Sprite Kit支持PVR纹理开始.也许尝试确认您的设置与PNG一起使用,然后导出为PVR并尝试.
当您这样做时,请务必清理您的项目(Xcode:项目 – >清洁)并从设备/模拟器中删除应用程序(此步骤至关重要!)否则,该软件包仍将包含PNG图集,您可能会愚弄了PVR的工作原理,因为如果您不删除它并清理构建,Sprite Kit可能会实际加载仍然存在于该包中的PNG图集.