NullReferenceException: Object reference not set to an instance of an object
エラー内容
NullReferenceException: Object reference not set to an instance of an object・・・
書いたコード
public class BattleCharacter
{BattleCharacter()
{
obj = null;
lev = 0;
}
}BattleCharacter chara = new BattleCharacter[16];
// Use this for initialization
void Start () {chara[0].lev = 15;
(以下略)
ポイント
- 原因は初期化してないclass配列に対してアクセスしようとしてるから(chara[0].lev = 15; のところ)
- class配列はコンストラクタでの初期化は明示的に書いてやらないといけない(らしい)
- そもそも構文が間違ってる
解決策
public class BattleCharacter
{
public GameObject obj;
public int lev, hp, atk, def, spd, acc, rdg, mag;
public int exp;public BattleCharacter()
{
obj = null;
lev = 0;
}
}BattleCharacter chara = new BattleCharacter[16];
// Use this for initialization
void Start () {chara[0] = new BattleCharacter();
chara[0].lev = 15;
参考:
https://qiita.com/scnsh/items/8eb80000267ac99d2bf4