SpriteKit - 如何获取在insertChild中使用的SKNode索引(_:atIndex :)

时间:2014-12-28 00:45:21

标签: swift sprite-kit skspritenode sknode

我在场景中添加了大量相同的SKSpriteNodes,它们都具有相同的zPosition,根据它们添加到场景的顺序相互叠加。我需要能够选择一个SKSpriteNode,并在同一个索引处添加另一个(加或减一)。我知道我可以使用scene.insertChild(mySpriteNode, atIndex:index)但是如何从SKNode或SKSpriteNode获取该索引?我查看了文档,在线,必须有一些我缺少的东西,看起来它会如此简单!我的理想方案:     scene.insertChild(mySpriteNode, atIndex:someSpriteNode.siblingIndex) 但我没有在siblingIndex上看到SKNode上的属性,或者它可能被称为indexInParent。

我想我可以继续计算我添加到场景中的每个节点,并继承SKSpriteNode并设置我自己的索引,但我在几个不同的地方添加节点。如果我稍后尝试更改我的代码,这将是繁琐且容易破解的。

也许我可以遍历场景中的整个子数组属性,直到找到节点===我正在搜索的节点,但这非常昂贵且效率低下。

使用zPosition并不理想,因为我在应用程序中使用了几个其他图层的zPosition,并且可以添加的SKSpriteNodes数量是无限的,所以最终我会突破到下一层。

希望有人告诉我,我在某处忽略了这个属性! 感谢任何帮助!

0 个答案:

没有答案