触摸按钮时如何检测节点在范围内?

时间:2019-01-09 14:07:17

标签: sprite-kit

查看图像,红色矩形从上到下移动。我想知道何时触摸蓝色按钮,如果红色矩形在灰色区域。而当rect移到灰色区域上方时,我想知道按钮是否被触摸了?

起初,我尝试确定红色矩形的位置,但是如果有很多矩形,如何检测每个矩形?

还要考虑碰撞检测是否可以做到这一点,但我并不理想。 所以请帮忙。谢谢。

The example image

1 个答案:

答案 0 :(得分:0)

让我们假设您的红色矩形,蓝色按钮和灰色区域都是SKNode或他的孩子,例如SKSpriteNodeSKShapenode

您可以随时在更新功能中检查碰撞。

override func update(_ currentTime: TimeInterval)
{
    // Called before each frame is rendered

    if red_rect.intersects(blue_button) && red_rect.intersects(gray_area)
    {
        // at this point the red_rect touched the blue_button
        // and the red_rect is over the gray_area

        // *your code here*
    }
}

您可以在此处找到有关intersect(_:)函数的更多信息。