0

有些玩家游戏对象必须有不同的标签:“Player1”和“Player2”。有一个门游戏对象,如果两个玩家都在门的触发器内,场景将会改变。

4

1 回答 1

0

你可以有 2 个布尔值,每个玩家一个,进入门触发器时变为 true,退出时变为 false。

然后在脚本的 Update() 中,有一个 if 语句,当两个布尔值都为真时执行 SceneManager 函数。

希望我回答了您的问题,这是我制作并测试了您的情况的脚本:

public class DoorController : MonoBehaviour {

    bool p1IsTouching = false;
    bool p2IsTouching = false;

    void Update() {
        if (p1IsTouching && p2IsTouching) {
            //do SceneManager stuff
        }
    }

    void OnTriggerEnter2D(Collider2D other) {
        if (other.gameObject.tag == "Player1") { p1IsTouching = true; }
        if (other.gameObject.tag == "Player2") { p2IsTouching = true; }
    }

    void OnTriggerExit2D(Collider2D other) {
        if (other.gameObject.tag == "Player1") { p1IsTouching = false; }
        if (other.gameObject.tag == "Player2") { p2IsTouching = false; }
    }
}
于 2018-11-05T13:09:50.280 回答