前提・実現したいこと
Unityで、コライダーの衝突判定を、OnTriggerEnter(Collider)ではなく、
自分で作ったメソッドの中で使いたいです。
具体的なやりたいこと。
Sceneの中に複数のゲームオブジェクトA、複数のゲームオブジェクトBがあります。
Aはこのスクリプトの中の別のメソッドを使って、シーンの中をランダムに移動しています。
Bは動きません。
別のスクリプトからこのメソッドを呼び出します。
Aのうち、いくつかを選んで、Bへ向かわせます
選ばれたAとBがぶつかった際、処理を行い、その後、このメソッドを完了したことを変数で保管します。
発生している問題・エラーメッセージ
どうすればいいのかわからない
該当のソースコード
C#
1//このスクリプトはゲームオブジェクトAのコンポーネントになります 2 3//Aが選ばれているか判別する変数 4private bool CHOSEN; 5private bool MethodFIN; 6//rbにはAのRigidBody2Dが入っています 7RigidBody2D rb; 8 9//選ばれたAはBを一つ選んでそこへ向かう 10//MyMethodは別のスクリプトから呼び出したいです 11public void MyMethod(){ 12 //選ばれていたら 13 if (CHOSEN == true) { 14 ///Bを一個選ぶ 15 GameObject target = ChosenRandomGameObject ("B"); 16 //選んだBの場所を取得して向かう 17 Rigidbody2D TargetBody = target.GetComponent<Rigidbody2D> (); 18 rb.velocity = TargetBody.position; 19 //ここからわかりません 20 21 //先ほど選んだBに衝突したらこのゲームオブジェクトを消したい。 22 //衝突先が選んだBでなければそのまま動かす。 23 24 25 //ここまでわかりません 26 //行為が完了したことを記録します 27 MethodFIN = True 28 } 29 else{ 30 //選ばれなかったAは何もしない 31 MethodFIN = True 32 } 33Gameobject ChosenRandomGameObject (strings S){ 34//省略 35//シーンに存在する"S"を含むゲームオブジェクトから、ランダムに一つ選んで返します。動作確認済み。 36} 37
試したこと
そういったことのできそうな関数を探したが見つからなかった。
補足情報(FW/ツールのバージョンなど)
Unity Ver.2017.2.0f3
