転がる先の杖

多趣味・多動をモットーに、転がり続けながら己を磨く日々を綴ります

NullReferenceException のエラー発生

スポンサーリンク

Unity2Dのアクションゲームを製作中、

NullReferenceException のエラー発生

 

f:id:ktg6:20151031192557p:plain

 

やろうとした事

 

ゴールエリアを用意し、そこに侵入したら50点入るというスクリプトを書いた。その結果、 侵入したらNullReferenceExceptionと出てテストモードが終了してしまう。

 

以下、ソースコード。

using UnityEngine;

using System.Collections;

 

 public class goalscript : MonoBehaviour {

  GUIText scoreGUI;

 

 void OnTriggerEnter2D(Collider2D col){

  if (col.gameObject.tag == "goal"){
   scoreGUI.SendMessage("AddScore",50);
  }
 }
}

 

 

Inspectorビュー

f:id:ktg6:20151031212301p:plain

 

Sceneビュー

f:id:ktg6:20151031212429p:plain

原因

GUIText の宣言文にpublicが入っていなかった為

以下のように書き直したら修正できた。

 

using UnityEngine;

using System.Collections;

 

 public class goalscript : MonoBehaviour {

  public GUIText scoreGUI;

 

 void OnTriggerEnter2D(Collider2D col){

  if (col.gameObject.tag == "goal"){
   scoreGUI.SendMessage("AddScore",50);
  }
 }
}

 

改めて調べたら、分かりやすいサイト発見。

【Unity初心者向け】別オブジェクトのメソッドを実行する方法まとめ

 勉強になった。