前提・実現したいこと
床やPlayerにPrefabが当たったら,消したい
発生している問題・エラーメッセージ
Rigidbody2dとCollider2dのisTriggerにチェックがついてるのにTriggerEnter2dが発動しない
UnchiController.cs
1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4 5public class UnchiController : MonoBehaviour 6{ 7 [SerializeField] 8 GameObject unchi; 9 [SerializeField] 10 GameObject Enemy; 11 GameObject Obj; 12 // Start is called before the first frame update 13 void Start() 14 { 15 if (Enemy.transform.position.x<=1&&Enemy.transform.position.x>=-1) { 16 StartCoroutine(Hoge()); 17 } 18 } 19 20 21 IEnumerator Hoge() { 22 while (true) 23 { 24 int randomTime = Random.RandomRange(1, 5); 25 Obj = (GameObject)Instantiate(unchi, Enemy.transform.position, Quaternion.identity); 26 Obj.transform.parent = Enemy.transform; 27 28 yield return new WaitForSeconds(randomTime); 29 } 30 } 31 32 private void OnTriggerEnter2D(Collider2D collision) 33 { 34 if (collision.gameObject.tag=="Player") { 35 Destroy(unchi); 36 }else if (collision.gameObject.tag=="Ground") { 37 Destroy(unchi); 38 } 39 } 40}
補足情報(FW/ツールのバージョンなど)
unity2019.1.9f1
とても勘ですが、OnTriggerEnter2Dメソッドに付いてるprivateを外すとどうなりますか?
(一応位置的に衝突するのか、一時停止&色々な方向から見て確認もしてみてください。Z軸がずれてるとかあるかもしれません)
回答1件
あなたの回答
tips
プレビュー