Unityの時間表示について質問です。
現在ゲームの残り時間を表示させようとしているのですがそれを2つのスクリプトでやろうとするとエラーが発生してしてしまいます。
目標としては
GameManagerScriptクラス
・スタート時間の設定
・時間を減らす処理
TimeControllerクラス
・GameManagerクラスから時間の取得
・テキストで時間の表示
をおこないたいと思っています。
・GameManagerScriptクラス
public class GameManagerScript : MonoBehaviour
{
public int hp;
public int score;
public float time;
// Start is called before the first frame update void Start() { initialization(); } // Update is called once per frame void Update() { time -= Time.deltaTime; if (time <= 0 || hp <= 0) { SceneManager.LoadScene("EndScene"); } } void initialization() { hp = 5; score = 0; time = 300; }
}
・TimeControllerクラス
public class TimerController : MonoBehaviour
{
public Text timerText;
float timer;
GameObject gameManager;
GameManagerScript gameManagerScript;
// Start is called before the first frame update void Start() { gameManager = GameObject.Find("GameManager"); gameManagerScript = gameManager.GetComponent<GameManagerScript>(); //Debug.Log(gameManagerScript.time); timer = gameManagerScript.time; //timer = 300; } // Update is called once per frame void Update() { //timer -= Time.deltaTime; timerText.text = timer.ToString("f2"); }
}
・エラー文
NullReferenceException: Object reference not set to an instance of an object
TimerController.Start () (at Assets/Scripts/TimerController.cs:20)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。