質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Q&A

0回答

453閲覧

Unity OnTrigger関数を同じスクリプトで複数使用したい

hukahirame

総合スコア19

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

0グッド

0クリップ

投稿2020/01/08 13:58

編集2020/01/09 09:51

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"); }

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Y0241-N

2020/01/08 23:48

1スクリプト1Triggerなんて制限はありません。 質問にコピペで張り付けているならOntriggerExitのtを大文字にする必要があります。 その辺の誤字が一番怪しいのでスクリプトを提示してください。中身を見ないことには原因は分かりません。
hukahirame

2020/01/09 09:49

失礼いたしました。追加いたしました。
hukahirame

2020/01/09 09:52

tは実際は大文字でした。申し訳ないです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問