iOS:我可以使用已经用 Adob​​e Animate 创建的纹理图集吗?

iOS: Can I use Texture Atlas already created with Adobe Animate?

我知道我可以在 Xcode 中添加单个图像的序列,并让它创建纹理图集。这个过程在容易搜索的地方有很好的描述。 (比如这个。)

我从设计师那里得到了图集,这些图集是用 Adob​​e Animate (v18.0) 创建的,已经合并到完整的 sheet 中,此外还有随附的 XML 描述动画的文件。 (其中子图像和显示帧不匹配 1:1,因此很难看出 Xcode 是如何计算出来的。)

我不清楚 SpriteKit 文档 whether/how 使用这些预定义的纹理图集。这可能吗?

如果您要获得预烘焙的纹理图集,以及外部生成的精灵应该从何处获取其纹理的描述,您可能必须使用您使用 init(rect:在 :) SKTexture 的初始值设定项。

您需要从 XML 文件中读取精灵的范围,然后从图集中创建纹理。然后你可以创建一个新的 SKTexture 对象,它代表较大纹理的一部分作为你的精灵的纹理。

这是未经测试的伪代码,但它显示了过程:

let spriteRect = (get the rect from the XML)
let atlas = SKTexture( imageNamed: "myTextureAtlas" )
let spriteTexture = SKTexture( rect:spriteRect, in:atlas )
let sprite = SKSpriteNode( texture:spriteTexture )

完成此过程后,您可以使用常用方法为精灵制作动画,例如使用纹理图集中的纹理列表设置 SKActions。