如何在Spritekit中检测一个节点是否指向另一个节点

时间:2020-09-14 21:48:29

标签: swift sprite-kit skspritenode

我创建了两个节点,一个节点包含四个线段和一个旋转杆。当用户触摸屏幕时,我要检测栏是否指向正确的颜色或错误的颜色。

我尝试检查节点之间的距离,但是钢筋的位置没有变化,并且距离始终相同。我不确定我缺少什么。

enter image description here

我正在这样创建圆和条

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)
    }

1 个答案:

答案 0 :(得分:2)

不是将一个图像用作圆,而是将图像分为4个节点,并分别为所有节点分配一个物理体。这样,您可以检测到颜色栏节点是否正在触摸特定的颜色节点。