タイトルの通りですが。player が 敵の弾に当たってやられます。
そのあとに、敵さんに待ってもらいたいのですが。player を取得できていません
調べてみたところ
コルーチンを使いました。
今回やりたいこと
/ エラーを直したい
やった事
スクリプトリファレンスなどや、いろいろなサイトも見させていただいたのですが。エラーが取れないです。print()などでみたところ、やられたらnull になり、Instantiate で出てきた瞬間エラーが起きます
敵の配列を動かしているスクリプト(一部抜粋)
c#
1 2 public GameObject[] inv = new GameObject[55] ; // 敵の配列 3 [System.NonSerialized] 4 public int cnt = 0; // 配列番号 5 6void Update(){ 7 if(/*playerPos == null &&*/ DeadPlayer) 8 { 9 print(playerPos); 10 11 12 StartCoroutine("RedChenger"); 13 14 // return; return したら3秒後にInstantiateで出てきた瞬間エラー 15 } 16 print(inv[cnt].transform.position); 17 18 print(playerPos); 19 20 // 敵の範囲内にいるとき かつ startBullet が true のとき 21 if (inv[cnt].transform.position.x > playerPos.transform.position.x -0.5f && inv[cnt].transform.position.x < playerPos.transform.position.x + 0.5f && startBullet) 22 { 23 // 敵の弾を生成 24 Instantiate(inveaderBulletPrefab, new Vector3(inv[cnt].transform.position.x, inv[cnt].transform.position.y - 0.7f, 0f), Quaternion.identity); 25 26 // 敵の弾のカウントを増やす 27 inveaderBulletNumber++; 28 29 // startBullet フラグを false 30 startBullet = false; 31 32 } 33 } 34 35IEnumerator RedChenger() 36 { 37 // 全体回す 38 for (int i = 0; i < inv.Length; i++) 39 { 40 // 赤色にする 41 inv[i].GetComponent<Renderer>().material.color = Color.red; 42 //print(i); 43 } 44 // 3秒松 45 yield return new WaitForSeconds(3); 46 47 48 // 元の色に戻す 49 ColorChanger(); 50 51 var player = Instantiate(playerPre, new Vector3(-3, -4, 0), Quaternion.identity); 52 53 //playerPos = player; 54 55 playerPos = GameObject.Find("player"); 56 57 DeadPlayer = false; 58 59 yield break; 60 }
エラーの箇所
c#
1 // 敵の範囲内にいるとき かつ startBullet が true のとき 2 if (inv[cnt].transform.position.x > playerPos.transform.position.x -0.5f && inv[cnt].transform.position.x < playerPos.transform.position.x + 0.5f && startBullet)
エラー内容は言った通りですが。行は上のです。 print(playerPos); が null です。inv[cnt]は入っています
NullReferenceException: Object reference not set to an instance of an object
moveDirecter.Update () (at Assets/Scrips/moveDirecter.cs:169)
初心者ながらゲーム制作をしています。もし回答してくださるならばとてもうれしいです。
こんな自分にご教授いただければ幸いです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/09/26 05:05
2020/09/26 05:40
2020/09/26 05:50
2020/09/26 06:09
2020/09/26 06:11
2020/09/26 06:30
2020/09/26 06:35
2020/09/26 06:47
2020/09/26 07:11
2020/09/26 07:30