前提・実現したいこと
forを使ってPlayer型の配列
player[i].hp
等に数値(文字)を入れたいです。
配列を使わずに
player1.hp
とするとちゃんと数値(文字)が入るのですが、配列を使おうとするとNull Exceptionといわれてしまいます。
コンパイラは通るのですが、実際に動かしてボタンを押すとエラーが出ます。
どうすればいいのでしょうか。
発生している問題・エラーメッセージ
NullReferenceException: Object reference not set to an instance of an object
該当のソースコード
Unity(C#)
//問題個所のcs public class CharacterCreateButton : MonoBehaviour { [SerializeField] private Text text1; [SerializeField] private Text text2; Player player1 = new Player(); public Player[] player = new Player[2]; public void CharaImport() { player1.hp = 32; //こちらはDebug.Logや下記のテキストフィールドを使用してちゃんと出力できます。 player[0].hp = 16; //←エラーが出ます。こちらの使い方を教えてください。 } void Start() { text1 = GameObject.Find("Player1").GetComponent<Text>(); text2 = GameObject.Find("Enemy1").GetComponent<Text>(); }
//Character.cs public abstract class Character { public string name; public int hp; public int atk; public int def; }
//Player.cs public class Player : Character { }
回答1件
あなたの回答
tips
プレビュー