teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

追記

2021/04/18 09:33

投稿

f-rank
f-rank

スコア132

answer CHANGED
@@ -1,13 +1,6 @@
1
1
  enemyShotTypeが初期化される前にCPUメソッドで使用しているのが原因だと思います。
2
2
  Startの最後にコルーチンを開始してみてください。
3
- ```C#
4
- void Start()
5
- {
6
- sortieManager = GameObject.Find("GAMEMANAGER").GetComponent<SortieManager>();
7
- enemyShotType = GameObject.Find("GAMEMANAGER").GetComponent<EnemyShotType>();
8
3
 
9
- PlayerController playerController = GameObject.FindGameObjectWithTag("Player").GetComponent<PlayerController>(); //プレイヤータグのPlayerControllerを取得
10
4
 
11
- StartCoroutine(CPU());
5
+ //追記
12
- }
13
- ```
6
+ EnemyShotTypeのStartより先にWeakEnemyScriptのStartが呼ばれる可能性があることを失念していました。こうなるとEnemyShotTypeのPlayerが初期化される前にPlayerが使用されるかもしれないので、コンポーネントの取得はStartではなくAwakeで行ったほうがいいかもしれません。