iOS:我可以使用已经用 Adob​​e Animate 创建的 Texture Atlas 吗?

标签 ios sprite-kit adobe sprite-sheet

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

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

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

最佳答案

如果您要获得预烘焙的纹理图集,并具有外部生成的关于 Sprite 应从何处获取纹理的描述,您可能必须使用使用 init(rect:in: 创建的 SKTextures 来创建 Sprite ) ) SKTexture 的初始值设定项。

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

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

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 )

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

关于iOS:我可以使用已经用 Adob​​e Animate 创建的 Texture Atlas 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51507136/

相关文章:

ios - 与 UIImage 的深度链接

swift - Spritekit SKTexture(SKTexture 中的 : CGRect, 矩形)问题

javascript - 当使用 PyPDF2 添加图层时如何使用 adobe javascript 隐藏一层

adobe - 如何查找 SAP Adob​​e Form 中使用的所有 SO10 文本模块?

ios - momostocks sdk : You already opened scanner with different pair , API key / secret 对问题

ios - CircleCI for iOS - 缓存 cocoapods 依赖

带有 SpriteKit 的 iOS 通用设备应用程序,如何为所有 View 缩放节点?

apache-flex - 可以将参数传递给皮肤吗?

ios - 如何更改 iOS 8 中选项卡栏图标的选定颜色?

swift - 公开拥有属性的对象