当两个玩家站在两个压力板上时如何触发“胜利”事件

时间:2021-06-21 19:34:08

标签: c# unity3d

所以我正在制作一个 2d 统一游戏,我有两个玩家在不同的房间。您同时控制两名玩家,并且都需要达到目标/区域才能完成关卡。

我的问题是,当一名玩家接触该区域时,某个值会被设置为真,但玩家不再需要站在该区域来完成关卡。我希望两个玩家必须同时站在该区域才能完成一个关卡。

如果有人知道如何做到这一点,如果您能与我分享,我将不胜感激。 如果你们需要一些代码,我可以添加它。

两个球员都有相同的剧本,但目标有不同的剧本(但不一定。我认为这样做可能更容易) 我正在使用 c#

1 个答案:

答案 0 :(得分:0)

您可以通过使用 OnTriggerEnter2DOnCollisionEnter2D 以及 OnTriggerExit2DOnCollisionEnter2D 来确定此行为。它看起来像:

private void OnTriggerEnter2D(Collider2D col)
{
    if(col.gameObject.tag == "Player")
    {
        // currently touching a plate   
    }
}

private void OnTriggerExit2D(Collider2D col)
{
    if(col.gameObject.tag == "Player")
    {
        // no longer touching a plate   
    }
}

在任一状态下交换 bool 都会给您想要的结果。您可以很容易地将其调整到您的特定用途。如果您有任何问题,请告诉我。