2

我正在尝试为精灵套件动画制作纹理图集,并且我所有的帧都是 pdf 格式。

这(或其他东西)似乎不起作用:

SKTextureAtlas(named: "my-atlas-name")

不包含纹理。

我可能应该尝试使用不同格式(例如 PNG)的相同设置来检查故障是否在其他地方,但我已经搜索并没有找到任何关于格式的具体讨论,尤其是 PDF,所以我想我会要求以后的参考。

纹理图集是否适用于 PDF?

4

2 回答 2

1

是的,我们可以将 PDF 与 SKTextureAtlas 一起使用。您必须使用资产目录,而不是将您的 pdf 文件放在 .atlas 文件夹中。

在资产目录中,添加“New Sprite Atlas”,将创建一个新文件夹。然后将您的 PDF 文件拖到该文件夹​​中,将它们的 Scales 设置为“Single Scale”,完成。

官方文档所述,资产目录是创建纹理图集的首选方式。

于 2016-12-08T15:51:00.440 回答
0

有关纹理图集的更多信息,请访问此处

https://developer.apple.com/library/ios/recipes/xcode_help-texture_atlas/AboutTextureAtlases/AboutTextureAtlases.html#//apple_ref/doc/uid/TP40013290-CH2-SW1

PDF 确实在 Xcode 中加载,并且似乎可以使用。我很快尝试将一个导入项目并在动画中使用它,但它似乎没有在动画中加载。所以我不确定。

请记住,即使 Xcode 可以,Sprite Kit 本身也可能无法使用 PDF。

我尝试加载 PDF 文档。坚持使用PNG。

我可能会使用 .PNG,因为它们对我来说非常可靠。

  1. 要制作纹理图集,您可以在计算机上使用命名约定 nameofthetextureatlas.atlas 创建一个新文件夹。

  2. 将您的图像放在该文件夹中。

  3. 将其拖到您的 Xcode 项目导航器侧边栏中

  4. 确保选中添加到目标,选中创建文件夹引用,并选中添加到目标。

然后为 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,并且始终为文件提供唯一名称。

于 2016-06-01T22:45:22.203 回答