从现有纹理图集jpg在SpriteKit中创建纹理altas

时间:2015-01-09 16:40:44

标签: animation sprite-kit sktextureatlas

我正在尝试使用在Xcode /我的机器之外创建的先前图像资源中的现有资源创建纹理图集。

将图像导入Xcode不会"拆分"它,我不确定如何告诉Xcode / SpriteKit" atlas"地点是。

除了使用图像编辑器并手动将每个图像作为资产之外,我怎样才能说服Xcode图像真的是图集呢?

最后,使用地图集是否值得,因为我必须自己循环浏览图像来制作动画;我最好硬编码(!)地图集条的x / y位置并在SKAction中做某种旋转/循环代码?

1 个答案:

答案 0 :(得分:0)

决定将旧地图集拆分为单独的图像,然后使用.atlas文件夹加载它们。还决定加载所有文件名并在数组上执行.sort,然后遍历该数组并在"正确的#34;中加载文件名。顺序。

下面的功能片段:

func AssignTextureAtlas(atlas: SKTextureAtlas)
{
    var arrTextureNames: Array<String> = []

    //Create texture atlas array
    for (var i = 0; i < atlas.textureNames.count; i++)
    {
        var myText = atlas.textureNames[i] as String
        arrTextureNames.append(myText)
    }

    arrTextureNames.sort( {$0 < $1})
    for (var i = 0; i < arrTextureNames.count; i++)
    {
        var myTexture = atlas.textureNamed(arrTextureNames[i])
        arr.insert(myTexture, atIndex: 0)
    }
    //...more code here, until:

    self.runAction(SKAction.repeatActionForever(SKAction.animateWithTextures(arr, timePerFrame: 0.1, resize: false, restore: true)), withKey: "TEST")

}