今回、new クラス名();の書き方だとNullが返ってしまい、理由が検索をかけてもわからなかったので質問させていただきます。
c#
1using UnityEngine; 2 3public class FieldSetting:MonoBehaviour 4{ 5 6 public GameObject[] Enemys;//出現する敵の種類を設定する変数 7 8} 9
c#
1 switch (battleState) 2 { 3 case BattleState.START: 4 //何体出現したか 5 EnemyNum =UnityEngine.Random.Range(1, 4); 6 for(int i = 0; i < EnemyNum; i++) 7 { 8 FieldSetting field = GetComponent<FieldSetting>();//<- new FieldSetting();の書き方だとエラー 9 int RandomChuseArray = UnityEngine.Random.Range(0, field.Enemys.Length); 10 GameObject RandomChuse = field.Enemys[RandomChuseArray]; 11 Instantiate(RandomChuse, new Vector3(0, 0, 0), Quaternion.identity); 12 } 13 battleState = BattleState.ACTIONCHUSE; 14 15 break; 16 }
以上のような書き方をしている場合にのみ通っています。
new の使い方がそもそもわかってないだけなのかもしれませんが・・・。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/03/16 10:53
2019/03/16 11:12
2019/03/17 02:39
2019/03/17 06:46