前提・実現したいこと
SpriteRendererをアタッチしたGameObjectのOrder in Layerをプログラムから変更したいのですが、「PlayerScriptの変数sortingGroupが割り当てられていません。
おそらく、インスペクタでPlayerScriptスクリプトのsortingGroup変数を割り当てる必要があります。」
といったエラーメッセージが表示されOrder in Layerが変更されません。
皆様のお知恵をお借りしたく存じます。
発生している問題・エラーメッセージ
UnassignedReferenceException: The variable sortingGroup of PlayerScript has not been assigned. You probably need to assign the sortingGroup variable of the PlayerScript script in the inspector. PlayerScript.OnTriggerStay2D (UnityEngine.Collider2D collision) (at Assets/PlayerScript.cs:55)
該当のソースコード
C#
1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4using UnityEngine.Rendering; 5 6public class PlayerScript : MonoBehaviour 7{ 8 [SerializeField]SortingGroup sortingGroup; 9 10 public void OnTriggerStay2D(Collider2D collision) 11 { 12 if (collision.tag == "UpPoint") 13 { 14 if (Input.GetButtonDown("B")) 15 { 16 sortingGroup.sortingOrder = 4; 17 } 18 } 19 if (collision.tag == "DownPoint") 20 { 21 if (Input.GetButtonDown("B")) 22 { 23 sortingGroup.sortingOrder = 10; 24 } 25 } 26 } 27}
試したこと
https://teratail.com/questions/125876
過去の類似する質問の回答を基に試みましたが、実行時にBボタンを入力すると上記のエラーメッセージが表示されます。
過去の質問との相違点としては変更したいオブジェクトがspriteではなくGameObjectであることが挙げられるかと思います。
補足情報(FW/ツールのバージョンなど)
Unity 2019.4.1f1
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/13 00:02 編集