Sprite Atlas - 将@ 3x,@ 2x和@ 1x图像导入XCAssets

时间:2017-04-25 16:01:50

标签: ios xcode xcasset

我有一个我写的脚本,它带有一个图像文件夹,并自动将它们调整为@ 3x,@ 2x和@ 1x等价物。

我将文件夹命名为@ 3x,@ 2x,@ 1x,并且在每个文件夹中,每个图像的后缀分别为@ 3x.png,@ 2x.png,@ 1x.png。 (例如bouncing-ball-frame-1@3x.png位于@ 3x文件夹中)

我用来导入图片的方式就是这样:

  1. 使用Xcode中的“+”按钮在XCAssets中手动创建一个新的sprite atlas文件夹
  2. 手动将@ 3x图像拖放到此文件夹中。然后Xcode将这些图像用作他们的@ 3x版本。
  3. 手动(1比1)将每个@ 2x图像和每个@ 1x图像移动到@ 3x图像旁边各自的“插槽”中。
  4. 但是现在我要使用大量的图像,这对我来说只是很多工作。

    我希望我可以将整个文件夹拖放到XCAssets中(包含所有3x,2x,1x图像),Xcode会自动将每个图像放在一个巨型精灵地图集中。

    这种事情有可能吗?我可以发誓我在某处读到如果你将文件夹/图像命名为某个命名约定,并将父项后缀为.atlas,则无需手动执行即可完成所有操作。

    有人可以为此提供建议/解决方案吗?

    谢谢!

1 个答案:

答案 0 :(得分:0)

我想出了如何做到这一点,并希望分享:

您在Xcode中创建一个新的地图集,并删除它为您提供的默认图像。

..现在,在您的计算机上创建一个文件夹,并将所有图像放在那里。每个图像。 1x,2x和3x。

命名约定应该是这样的(假设我的图像是25帧,如bouncing-ball-1.png,bouncing-ball-2.png等)

  • bouncing-ball-1.png将是1x版本(注意缺少1x?)
  • bouncing-ball-1@2x.png
  • bouncing-ball-1@3x.png

如果您有25帧动画,则一个文件夹中有75张图像。

然后将所有这25个文件拖到我上面提到的目标xcassets /文件夹中,然后就完成了。

Xcode将会看到弹跳球1,弹跳球1 @ 2x,弹跳球1#3x,......等,并为所有3种尺寸创建1张图像(所以在我的情况下为25)