纹理图集可以由PDF图像组成吗?

时间:2016-04-20 19:51:54

标签: ios objective-c swift pdf texture-atlas

我试图为精灵套件动画创建纹理图集,而我的所有框架都是pdf格式。

这(或某事)似乎不起作用:

<cstdint>

不包含纹理。

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

纹理地图集是否适用于PDF?

2 个答案:

答案 0 :(得分:1)

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

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

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

答案 1 :(得分: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. 确保选中添加到目标,选中创建文件夹引用,&amp;检查添加到目标。

  5. 然后,要为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,并且始终为文件指定唯一的名称。