OnTriggerEnter2Dを使い、近づかないと作動しないギミック

プレイヤーが判定内に入ってる状態であり、
プレイヤーがキー入力をすると作動する仕掛けを作りたいと思いプログラムを書きます。

結果、上記通りの動きになりましたが、しかし、
その仕掛けを複数個置くとおかしな現象が起きてしまいました。↴

2つの仕掛けが離れた場所にあります。(仕掛け=レバー)
片方の仕掛けのcollider内に入ってキー入力をしたら、もう片方の仕掛けが作動してしまいした。

私は、プレイヤーが入っている仕掛けだけを作動させたいです。
間違った認識である箇所を教えてください!

private bool isLever; void Start(){isLever = false;} void Update(){ if (Input.GetKeyDown(KeyCode.V) & isLever) { GameObject lever; lever = GameObject.FindWithTag("Lever"); //ヒエラルキー内から指定タグのオブジェクト検出 lever.GetComponent<Lever>().Change(); //別のスクリプト内の処理で仕掛け作動 Debug.Log("作動中"); } } private void OnCollisionExit2D(Collision2D collision) { if (collision.gameObject.tag == "Ground")//地面 { isLever = false; } } private void OnTriggerEnter2D(Collider2D collision) { if (collision.gameObject.tag == "Lever")//仕掛け { isLever = true; } }

コメントを投稿

0 コメント