ゲームの制限時間終了時に「finish!」と書かれたUIを表示したいです。
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class finish : MonoBehaviour { private float totalTime; private GameObject Tokei; void Start() { Tokei = GameObject.Find("TimeCounter"); } void Update() { totalTime = Tokei.GetComponent<TimeCounter>().TotalTime; if (totalTime <= 1) { this.gameObject.SetActive(true); } else { this.gameObject.SetActive(false); } } }
このコードは、「finish」とテキストが書かれたUIにアタッチするものです。
制限時間の処理は別のスクリプトで行っています。
その制限時間のスクリプトの変数を取得して、変数(時間)が0になった時に「finish」を表示したいです。
ですが、最初に変数を取得するというのが上手くできません。
UnityのConsoleウィンドウで、
「オブジェクトのインスタンスにオブジェクト参照が設定されていない」
というエラーが出ています。
ビジュアルスタジオではエラーは出ていません。
GameObject.Find以外にも、ゲッターで変数を取得するなど試みましたが、同じようなエラーがでて上手くいきませんでした。
このようなエラーが出る原因と、その解決方法を教えてください。
制限時間を処理するスクリプト(がアタッチされたオブジェクト)、finishテキストはどちらもUIです。
制限時間のUIは常にアクティブです。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。