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

Sprite Atlas - Importing @3x, @2x, and @1x images into XCAssets

我编写了一个脚本,它获取一个图像文件夹,并自动将它们的大小调整为 @3x、@2x 和 @1x 等价物。

我将文件夹命名为@3x、@2x、@1x,每个文件夹内每张图片的后缀分别为@3x.png、@2x.png、@1x.png . (因此,例如 bouncing-ball-frame-1@3x.png 位于 @3x 文件夹中)

我之前导入图片的方式是这样的:

  1. 使用 Xcode
  2. 中的“+”按钮在 XCAssets 中手动创建一个新的精灵图集文件夹
  3. 手动将@3x 图像拖放到此文件夹中。 Xcode 然后将使用这些图像作为他们的 @3x 版本。
  4. 手动(1 对 1)将每个 @2x 图像和每个 @1x 图像移动到 @3x 图像旁边各自的 "slots" 中。

但是现在我要使用大量图像,这对我来说只是很多工作。

我希望我可以将整个文件夹拖放到 XCAssets 中(包含所有 3x、2x、1x 图像),然后 Xcode 会自动将每个图像放在一个巨大的精灵中它所属的位置图集.

这种事情可能吗?我发誓我在某处读到过,如果您将 folders/images 命名为特定的命名约定,并将父级后缀作为 .atlas,那么它会为您完成这一切,而无需手动完成。

有人可以为此提供 advice/solution 吗?

谢谢!

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

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

..现在,在您的计算机上创建一个文件夹,并将所有图像放入其中。每一张图片。 1x、2x 和 3x。

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

  • bouncing-ball-1.png 将是 1x 版本(注意到没有 1x 了吗?)
  • 弹跳球-1@2x.png
  • 弹跳球-1@3x.png

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

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

Xcode 将查看 bouncing-ball-1、bouncing-ball-1@2x、bouncing-ball-1#3x、...等,并为所有 3 种尺寸创建 1 个图像(所以在我的情况下 25)