Sprite工具包可以访问iOS 9.2中的子节点

时间:2015-12-14 13:45:39

标签: ios swift sprite-kit skspritenode

我需要访问SKSpriteNode的子节点。 在iOS 9.1中我曾经这样做过:

let node = nodeAtPoint(touchLocation)

If let myNode = node as? MyNode {
//some code if node is kind of class

它工作得很好,但在iOS 9.2中却没有。谁知道是什么事?

1 个答案:

答案 0 :(得分:0)

要访问SKNode的孩子,请访问只读的“孩子”。参数(见SKNode children)。

我怀疑iOS 9.1到9.2的改变是误导性的。 nodeAtPoint只会返回一个子节点,如果它也发生在该点,而不管它的子类。如果存在多个节点,则选择“最便宜的”节点。然后是最大的z' (如果它们都具有相同的z,则返回它可能是任意的)。如果此时没有节点,则返回接收器。所以它返回的内容是高度可变的,具体取决于你被调用的瞬间场景 - 所以当它从未真正按照你的想法行事时它似乎可能正常工作?