我正在尝试使用在 Xcode/我的机器之外创建的先前图像资产中的现有资产创建纹理图集。
将图像导入 Xcode 不会“拆分”它,我不确定如何告诉 Xcode / SpriteKit “图集”位置在哪里。
除了使用图像编辑器并手动将每张图像作为资产使用之外,我如何让 Xcode 相信该图像已经是真正的图集了?
最后,使用图集是否值得,因为我必须自己循环浏览图像才能制作动画;我最好硬编码(!)atlas 条的 x/y 位置并在 SKAction 中执行某种旋转/循环代码?
我正在尝试使用在 Xcode/我的机器之外创建的先前图像资产中的现有资产创建纹理图集。
将图像导入 Xcode 不会“拆分”它,我不确定如何告诉 Xcode / SpriteKit “图集”位置在哪里。
除了使用图像编辑器并手动将每张图像作为资产使用之外,我如何让 Xcode 相信该图像已经是真正的图集了?
最后,使用图集是否值得,因为我必须自己循环浏览图像才能制作动画;我最好硬编码(!)atlas 条的 x/y 位置并在 SKAction 中执行某种旋转/循环代码?
决定将旧图集拆分为单独的图像,然后使用 .atlas 文件夹加载它们。还决定加载所有文件名并对数组执行 .sort ,然后遍历该数组并以“正确”顺序加载文件名。
下面的函数片段:
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")
}