识别同一位置的所有节点

时间:2015-11-08 20:45:06

标签: ios iphone swift sprite-kit ios9

我有一个iOS应用程序,可以在屏幕上绘制精灵网格。然后我有另一个精灵代表一种颜色,我可以在网格上拖放。我的问题是如何识别拖动网格上的哪个精灵?

最终我想允许用户将颜色精灵拖到另一个精灵上,所以我可以根据用户选择更改颜色。

下面的代码只返回该位置的第二个精灵(顶部精灵),而我需要识别该位置的两个精灵。

 override func touchesEnded(touches: Set<UITouch>, withEvent event: UIEvent?)
{
    print("tocuhes ended")

    for touch in touches
    {
        let location = touch.locationInNode(self)
        let nodeAtLocation = self.nodeAtPoint(location)

        let nodeName = nodeAtLocation.name

        print("Node Name \(nodeName)")


    }
}

1 个答案:

答案 0 :(得分:2)

 override func touchesEnded(touches: Set<UITouch>, withEvent event: UIEvent?) {

    for touch in touches
    {
        let location = touch.locationInNode(self)
        let nodesAtLocation = self.nodesAtPoint(location)

        for node in nodesAtLocation {

            let nodeName = node.name

            print("Node Name \(nodeName)")

        }
    }
}