如何检测一个节点是否指向spritekit中的另一个节点

How to detect if one node is pointing to the other in spritekit

我创建了两个节点,一个有 4 个线段的圆和一个旋转条。当用户触摸屏幕时,我想检测该条是否指向正确的颜色或错误的颜色。

我尝试检查节点之间的距离,但条形图的位置没有改变,而且距离始终相同。我不确定我错过了什么。

我正在像这样创建圆和条

Bar
    colorBar = createImage()
    changeColor()
    colorBar!.colorBlendFactor = 1.0
    colorBar!.physicsBody = SKPhysicsBody(rectangleOf: CGSize(width: 50, height: 300))
    colorBar!.physicsBody?.affectedByGravity = false
    colorBar!.position = CGPoint(x: self.frame.midX , y: self.frame.midY)
    colorBar!.anchorPoint = CGPoint(x: 0.5, y: 1.0)
    colorWheel!.addChild(colorBar!)

圆形

    for i in 0...3 {
        let section = SKShapeNode(path: path.cgPath)
        section.fillColor = colors![i]
        section.strokeColor = colors![i]
        section.name = colorNames[i]
        section.zRotation = rotationFactor * CGFloat(i);
        container.addChild(section)
    }

不要为你的圆圈使用一个图像,而是将你的图像分成 4 个节点,并分别为所有节点分配一个物理体。这样你就可以检测你的颜色条节点是否接触到特定的颜色节点。