前提・実現したいこと
unityでゲームシーン再生ボタンを押すと「NullReferenceException: Object reference not set to an instance of an object
SelectItem.Awake () (at Assets/Script/SelectItem.cs:21)」と「ArgumentNullException: Value cannot be null.
Parameter name: dest」
のエラーメッセージがでて、画面が真っ黒になり、一時停止ボタンが勝手に押されている状態になります。
やりたいことは、ドロップダウンメニューで選んだものに応じてキャンバスと樹木のゲームオブジェクトを変更するというものです。
発生している問題・エラーメッセージ
NullReferenceException: Object reference not set to an instance of an object SelectItem.Awake () (at Assets/Script/SelectItem.cs:21) void Awakeの部分でエラーが発生しています。
該当のソースコード
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class SelectItem : MonoBehaviour { public GameObject tree1,panel1; private GameObject treeA; public GameObject tree2, panel2; private GameObject treeB; public GameObject tree3, panel3; private GameObject treeC; void Awake() { // Canvasを取得する tree1 = treeA.GetComponent<GameObject>(); panel1 = treeA.GetComponent<GameObject>(); tree2 = treeB.GetComponent<GameObject>(); panel2 = treeB.GetComponent<GameObject>(); tree3 = treeC.GetComponent<GameObject>(); panel2 = treeB.GetComponent<GameObject>(); panel3 = treeC.GetComponent<GameObject>(); } void Start() { tree1.SetActive(true); // この部分にエラーがでます tree2.SetActive(false); tree3.SetActive(false); panel1.SetActive(true); panel2.SetActive(false); panel3.SetActive(false); } public void SelectedListMenuDropdown (Dropdown dropdown) { switch (dropdown.value) { case 0: tree1.SetActive(true); tree2.SetActive(false); tree3.SetActive(false); panel1.SetActive(true); panel2.SetActive(false); panel3.SetActive(false); break; case 1: tree1.SetActive(false); tree2.SetActive(true); tree3.SetActive(false); panel1.SetActive(false); panel2.SetActive(true); panel3.SetActive(false); break; case 2: tree1.SetActive(false); tree2.SetActive(false); tree3.SetActive(true); panel1.SetActive(false); panel2.SetActive(false); panel3.SetActive(true); break; default: break; } } }
補足情報(FW/ツールのバージョンなど)
unity2021.1.2f1
あなたの回答
tips
プレビュー