前提
Unityを触り始めて1,2週間の初心者です。
UnityのC#Scriptで、敵が倒された際に、その敵に付いている複数のCircleCollider2Dを全て無効にする処理を実装しようとしていたのですが、複数のCircleCollider2Dのうち1つしか無効化することができず困っています。
実現したいこと
・1つのオブジェクトに付いている2つ以上のCircleCollider2Dをスクリプト上から全て無効化する
発生している問題・エラーメッセージ
・複数のCircleCollider2Dのうち、1つしか無効化することができませんでした
該当のソースコード
C#
1private void OnCollisionEnter2D(Collision2D collision) 2 { 3 if(collision.gameObject.name == "player") 4 { 5 anim.SetTrigger("trgHurt"); 6 GetComponent<BoxCollider2D>().enabled = false; 7 GetComponent<CircleCollider2D>().enabled = false; 8 //GetComponent<CircleCollider2D>().enabled = false; 9 StartCoroutine("Dead"); 10 11 } 12 }
試したこと
GetComponent<CircleCollider2D>().enabled = false;
というコードを書いて複数のCircleCollider2Dを一気に無効にしようとしましたが、複数のうち1つにしか反映されませんでした。ダメもとでコードを二つにしてみたりしましたが特に意味はありませんでした。
補足情報(FW/ツールのバージョンなど)
使用しているソフト
・Unity
・MicrosoftVisualStudio2022
使用しているUnityのバージョン: 2021.3.12.12f1
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2023/01/08 09:33
2023/01/08 09:49
2023/01/08 11:20