メインコンテンツへスキップ
< すべてのトピックに戻る

「CS0120: An object reference is required for the non-static field」が出た場合は?

「実体(インスタンス)」を持たないクラスそのものから、直接機能を使おうとしました(例:ゲーム内に存在する個別の敵ではなく、"Enemy"という設計図自体から直接HPを減らそうとした)。

static(共有)設定になっていない変数やメソッドは、「シーン上に存在する特定のオブジェクト」を指定してから呼び出さないと、誰のデータをいじればいいかシステムが分からないためです。

Enemy enemy = GetComponent();のように対象の実体を正しく取得(またはnewで生成)し、enemy.hp -= 10;のように「実体の変数名」を使ってアクセスするように書き換えます。

目次

9周年キャンペーン実施中 早い申込みほど受講料がお得に