unityでオブジェクトが指定したタグのオブジェクトに衝突するとboolをtrueにしてそれをプレイヤーが取得して、一定時間プレイヤーの動きを止めるスクリプトを作っています。
unityでオブジェクトが指定したタグのオブジェクトに衝突するとboolをtrueにしてそれをプレイヤーが取得して、一定時間プレイヤーの動きを止めるスクリプトを作っています。 しかし衝突しても同じタグのオブジェクトでも1つのオブジェクトしか反応しません。 具体的に説明して、 AのオブジェクトのタグをStopとする。このオブジェクトをコピーしたものをBとする。コピーしたのに、Aは反応してプレイヤーが止まっても、Bには当てても反応しない。という感じ。 スクリプトは以下の通りです。 using System.Collections; using System.Collections.Generic; using UnityEngine; public class Stop : MonoBehaviour { public string tagName; public bool stop; public float time; private void OnCollisionEnter(Collision collision) { if(collision.gameObject.tag == tagName)//タグのオブジェクトに当たると { time += Time.deltaTime; stop = true;//オブジェクトの動き止める←これをプレイヤーが別のスクリプトでタグで取得 this.gameObject.SetActive(false); } } }
C言語関連・35閲覧