我正在尝试为精灵套件动画制作纹理图集,并且我所有的帧都是 pdf 格式。
这(或其他东西)似乎不起作用:
SKTextureAtlas(named: "my-atlas-name")
不包含纹理。
我可能应该尝试使用不同格式(例如 PNG)的相同设置来检查故障是否在其他地方,但我已经搜索并没有找到任何关于格式的具体讨论,尤其是 PDF,所以我想我会要求以后的参考。
纹理图集是否适用于 PDF?
我正在尝试为精灵套件动画制作纹理图集,并且我所有的帧都是 pdf 格式。
这(或其他东西)似乎不起作用:
SKTextureAtlas(named: "my-atlas-name")
不包含纹理。
我可能应该尝试使用不同格式(例如 PNG)的相同设置来检查故障是否在其他地方,但我已经搜索并没有找到任何关于格式的具体讨论,尤其是 PDF,所以我想我会要求以后的参考。
纹理图集是否适用于 PDF?
是的,我们可以将 PDF 与 SKTextureAtlas 一起使用。您必须使用资产目录,而不是将您的 pdf 文件放在 .atlas 文件夹中。
在资产目录中,添加“New Sprite Atlas”,将创建一个新文件夹。然后将您的 PDF 文件拖到该文件夹中,将它们的 Scales 设置为“Single Scale”,完成。
如官方文档所述,资产目录是创建纹理图集的首选方式。
有关纹理图集的更多信息,请访问此处
PDF 确实在 Xcode 中加载,并且似乎可以使用。我很快尝试将一个导入项目并在动画中使用它,但它似乎没有在动画中加载。所以我不确定。
请记住,即使 Xcode 可以,Sprite Kit 本身也可能无法使用 PDF。
我尝试加载 PDF 文档。坚持使用PNG。
我可能会使用 .PNG,因为它们对我来说非常可靠。
要制作纹理图集,您可以在计算机上使用命名约定 nameofthetextureatlas.atlas 创建一个新文件夹。
将您的图像放在该文件夹中。
将其拖到您的 Xcode 项目导航器侧边栏中
确保选中添加到目标,选中创建文件夹引用,并选中添加到目标。
然后为 SKSpriteNode 设置动画,您可以执行以下操作
var textureArray = [SKTexture]()
textureArray.append(SKTextureAtlas(named: "name of atlas").textureNamed("Name of Frame 1"))
textureArray.append(SKTextureAtlas(named: "name of atlas").textureNamed("Name of Frame 2"))
self.runAction(SKAction.animateWithTextures(textureArray, timePerFrame: 1))
注意:文件名末尾不包含 .atlas 或 .PDF,并且始终为文件提供唯一名称。