前提・実現したいこと
unity2D c#でゲームを開発中です。
プレハブにCharaControllerスクリプトをアタッチしています。
このプレハブから生成したインスタンスをランダムに3個配置しています。
この配置された全てのインスタンスのCharaControllerの関数を呼びたい。
発生している問題・エラーメッセージ
インスタンスはPrefabGenerator内で生成しています。
以下のコードのようにアタッチしているCharaControllerをGetCompornet<CharaController>()で取得して関数を実行しています。
しかし、関数を呼ぶと最後に生成されたインスタンスのみ関数が呼ばれています。
これを全てのインスタンスの関数を呼ぶようにしたいのですがうまくいきません。
エラーメッセージ
### 該当のソースコード //プレハブ生成 //プレハブのスクリプトをGetComponent PrefabGenerator.cs public class PrefabGenerator : MonoBehaviour { public GameObject charaPrefab; GameObject chara; CharaController _charaController; //ここを5回呼んでインスタンスを5個生成します public void GenerateChara() { chara = (GameObject)Instantiate(charaPrefab) as GameObject; chara.transform.position = randomPos; //ここでスクリプトをGetComponentするのが間違いかも? _charaController = chara.GetComponent<CharaController>(); } public void CharaMove() { _controller.Move(); } } CharaController.cs public class CharaController : MonoBehaviour { public void Move() { //キャラクターを目的地に動かす } } どなたかご教授をお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/05/22 09:35