Unity(C#)の質問です。あるスクリプトにOnTriggerStayとOntriggerExitを入れているのですが、なぜかExitが反応してくれません。Trigger関数は同一スクリプトに1つまでというような制限はあるのでしょうか?
また、親オブジェクトの子として複数のトリガーをつけて当たったトリガーから親オブジェクトに処理を渡したいと思っているのですが、当たった子トリガーのみならず、他の子トリガーも反応してしまう。という仕様はありますでしょうか?
※タグのOBJは登録してあります。
↓子オブジェクトのうちの1つ
public class SensorR : MonoBehaviour
{
public GameObject Enemy;
private EnemyAI enemyAI;
private void Start()
{
enemyAI = Enemy.GetComponent<EnemyAI>();
}
private void OnTriggerStay(Collider other)
{
if (other.gameObject.tag == "OBJ")
{
enemyAI.TurningL();
}
}
private void OnTriggerExit(Collider other)//ここが呼ばれない
{
if (other.gameObject.tag == "OBJ")
{
enemyAI.TurnStop();
Debug.Log("Play");
}
}
}
↓親オブジェクト
public class EnemyAI : MonoBehaviour
{
public void TurningL()//SensorRが動かす
{
transform.Rotate(0, 9 * Time.deltaTime, 0);
}
public void TurnStop()//ここが呼ばれない { Debug.Log("OK"); }
}
あなたの回答
tips
プレビュー