unity2Dで音ゲーのミス判定の試作をしていたのですが、どうしてもうまくコライダー2Dでの判定が上手くいきません。どうしたらいいですか...?
一応コードも載せておきます。
色々ありそうなことを全部試しましたが駄目でした。
エラーコードはなしです。
C#
1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4 5public class miss : MonoBehaviour 6{ 7 8 void OnTrigger2D(Collider2D other) 9 { 10 if (other.gameObject.tag == "miss") { 11 Destroy (this.gameObject); 12 } 13 } 14 15 // Start is called before the first frame update 16 void Start() 17 { 18 19 } 20 21 // Update is called once per frame 22 void Update() 23 { 24 25 } 26} 27
なんとなく、ミスのラインにアタッチされているスクリプトで、そのミスラインにぶつかったノーツを消したいってことだと予想しますが
ぶつかったのはミスではなくノーツなのでは?
ノーツにアタッチしたんですができなくて()
そもそも、OnTrigger2D()なんて関数はありません。
OnTriggerEnter2D()と勘違いしていないですか?
うーんそれを直しても治りません
どっちにもIs Triggerにチェックつけたのが原因でしょうか...
それともバージョン?
他に思い当たる原因がないかちょっと探してみます。
この場合、まずはDebug.Log()かデバッガを使って、OnTriggerEnter2D()が呼ばれているかを確認するのが先決です。
今、その発想はなかったと思い、早速呼ばれているか確認したんですが、呼ばれてなくて、探したら解決しました!!
リドルボディが設定されていませんでした!!
一緒に原因を探してくれて本当にありがとうございました!!
回答1件
あなたの回答
tips
プレビュー