所以我正在制作一个 2d 统一游戏,我有两个玩家在不同的房间。您同时控制两名玩家,并且都需要达到目标/区域才能完成关卡。
我的问题是,当一名玩家接触该区域时,某个值会被设置为真,但玩家不再需要站在该区域来完成关卡。我希望两个玩家必须同时站在该区域才能完成一个关卡。
如果有人知道如何做到这一点,如果您能与我分享,我将不胜感激。 如果你们需要一些代码,我可以添加它。
两个球员都有相同的剧本,但目标有不同的剧本(但不一定。我认为这样做可能更容易) 我正在使用 c#
答案 0 :(得分:0)
您可以通过使用 OnTriggerEnter2D
或 OnCollisionEnter2D
以及 OnTriggerExit2D
或 OnCollisionEnter2D
来确定此行为。它看起来像:
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 都会给您想要的结果。您可以很容易地将其调整到您的特定用途。如果您有任何问题,请告诉我。