前提・実現したいこと
ボタンがクリックされたとき別のスクリプトの関数を呼び出すというスクリプトを書いています。パネルの色をセーブするというプログラムの一部で、ボタンをクリックするとパネルにアタッチされたスクリプトの関数を呼び出し、そこでセーブを行うというものです。今は一つのスクリプトしか呼び出していませんが、将来的には複数のスクリプトの関数を呼び出そうと考えています。
発生している問題・エラーメッセージ
ボタンをクリックしたタイミングで以下のようなエラーが表示されます。
NullReferenceException: Object reference not set to an instance of an object SaveScript.Save () (at Assets/Script/SaveScript.cs:19)
該当のソースコード
以下が呼び出し先と呼び出し元のスクリプトになります。
呼び出し先
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class Panel1 : MonoBehaviour { public Color Panel1_color; public void Start() { //Panelの色を取得(Color型) Panel1_color = GetComponent<Image>().color; Debug.Log("Panel1の色:" + Panel1_color); } //Save関数 public void Save_Panel1() { //Color型をString型に変換 string save_Panel1 = ColorUtility.ToHtmlStringRGB(Panel1_color); //PlayerPrefsによってSave PlayerPrefs.SetString("Panel1", save_Panel1); Debug.Log("Panel1 complete"); } }
呼び出し元
using System.Collections; using System.Collections.Generic; using UnityEngine; public class SaveScript : MonoBehaviour { GameObject Object_Panel1; Panel1 Script_Panel1; void start() { Object_Panel1 = GameObject.Find("Panel1"); Script_Panel1 = Object_Panel1.GetComponent<Panel1>(); } public void Save() { Script_Panel1.Save_Panel1(); } }
試したこと
ネット上に載っている方法を一通り試してみましたがどの場合でもこのエラーが出てしまい先に進めていません。
補足情報(FW/ツールのバージョンなど)
Unity 2019.2.9f1、VisualStudio2015での開発です。
何卒ご教授のほどよろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/11/06 12:06
2019/11/06 12:12