###前提・実現したいこと
Unityでゲームのシーン遷移のフェイドイン・フェイドアウトを作っていた時に出ました。
フェイドは実装できたのですがこのエラーだけ消えません。
Unityのプロジェクト起動時に発生し、それ以降はエラーメッセージは出ません。
自分のプログラムでない部分をエラーが出ているので、
何についてのエラーなのかが全く分かりません。
※該当のソースコードには、自分の遷移のプログラムをのせました。
###発生している問題・エラーメッセージ
UnityでNullReferenceException: Object reference not set to an instance of an object UnityEditor.DockArea.OnGUI () (at C:/buildslave/unity/build/Editor/Mono/GUI/DockArea.cs:272) と出ます。
###該当のソースコード
using UnityEngine; using UnityEngine.SceneManagement; using UnityEngine.UI; using System.Collections; /// <summary> /// シーン遷移時のフェイドイン・フェイドアウトを制御するクラス /// </summary> public class Fade : MonoBehaviour { /// <summary>フェイド中かどうか</summary> private bool _isFadeing; /// <summary>フェイドインかどうか</summary> private bool _fadeIn; /// <summary>シーン名保管用</summary> private string _Scene; /// <summary>フェイドカウント用</summary> private float _time; /// <summary>Image格納用</summary> private Image image; //private Canvas canvas; //private int savedOrder = 10; /// <summary>暗転にかかる時間</summary> public float _interval = 5.0f; // Use this for initialization void Start () { //Imageを格納 image = GetComponent<Image>(); //canvas = GetComponentInParent<Canvas>(); //if (canvas != null) { // savedOrder = canvas.sortingOrder; //} startFadeIn(); //フェイドインスタート } // Update is called once per frame void Update () { if (!_isFadeing) //フェイド中以外除外 return; _time += Time.deltaTime; //フェイド時間を足す。 if (_fadeIn) { //フェイドイン image.color = new Color (0.0f, 0.0f, 0.0f, Mathf.Lerp (1, 0, _time / _interval)); if ((_time / _interval) >= 1.0f) { ResetFade (); image.enabled = false; //フェイド用のテクスチャImageを非表示 } } else { //フェイドアウト image.color = new Color (0.0f, 0.0f, 0.0f, Mathf.Lerp (0, 1, _time / _interval)); if ((_time / _interval) >= 1.0f) { SceneManager.LoadScene (_Scene); //シーンの切り替え ResetFade (); } } } private void startFadeIn(){ //canvas.sortingOrder = savedOrder; _isFadeing = true; _fadeIn = true; _time = 0; } private void startFadeOut(){ //canvas.sortingOrder = savedOrder; image.enabled = true; _isFadeing = true; _fadeIn = false; _time = 0; } private void ResetFade(){ //canvas.sortingOrder = savedOrder; _isFadeing = false; _fadeIn = true; _time = 0; } /// <summary> /// シーン遷移用関数 /// 第1引数:シーン名(string) /// </summary> public void LoadScene(string SetSceneName){ _Scene = SetSceneName; startFadeOut (); } }
###試したこと
他プロジェクトでの再実行
###補足情報(言語/FW/ツール等のバージョンなど)
Unity 5.4.3f1 personal (64bit)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。