実現したいこと
データをUIに反映したいです.以下のコードを書きました
c#
1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4 5public class PlayerUnit : MonoBehaviour 6{ 7 [SerializeField] 8 PlayerBase[] playerBasies; 9 [SerializeField] 10 GameObject[] playerPos; 11 Player[] players; 12 13 [SerializeField] BattlePlayerUI[] battlePlayerUI; 14 15 public BattlePlayerUI[] BattlePlayerUI { get => battlePlayerUI;} 16 17 public void SetUp() 18 { 19 int playerNum = 2; 20 for (int i = 0; i < playerNum; i++) 21 { 22 players = new Player[playerNum]; 23 Player player = new Player(playerBasies[i], 1); 24 // Debug.Log(player.PlayerBase.PlayerName); 25 players[i] = player; 26 //Debug.Log(players[i].PlayerBase.PlayerName); 27 Instantiate(player.PlayerBase.PlayerModel, playerPos[i].transform); 28 // データをUIに反映する 29 BattlePlayerUI[i].SetPlayerData(player); 30 } 31 Debug.Log(players[0].PlayerBase.PlayerName); 32 battlePlayerUI[0].SetStatusPanel(players[0]); 33 34 } 35}
前提
プレイヤーのステータスをUIに反映するコードを書いています.上記のようなコードを書きました.for文の中まではplayers[i]に中身が入っているのですがfor文を抜けた後にplayersが空になっています.なぜだか原因がわかりません.
発生している問題・エラーメッセージ
NullReferenceException
が出ています.playersの中身が空のようです.解決方法がわかりません.
試したこと
デバッグログを使いどこが空なのかを特定しました.
回答1件
あなたの回答
tips
プレビュー