我的秒表在Unity中有什么问题?



我创建了一个脚本来显示玩家玩我的游戏的时间。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using System;
public class Stopwatch : MonoBehaviour
{
bool stopwatchActive = false;
float currentTime;
public Text currentTimeText;

// Start is called before the first frame update
void Start()
{
currentTime = 0;
StartStopwatch();
}
// Update is called once per frame
void Update()
{
if (stopwatchActive == true)
{
currentTime = currentTime + Time.deltaTime;
}
TimeSpan time = TimeSpan.FromSeconds(currentTime);
currentTimeText.text = time.Seconds.ToString();
}
public void StartStopwatch()
{
stopwatchActive = true;
}
public void StopStopwatch()
{
stopwatchActive = false;
}
}

我分配了所有内容并进行了测试。一切都工作得很好,但我在Unity中得到这个错误:

NullReferenceException: Object reference not set to an instance of an object
Stopwatch.Update () (at Assets/Scripts/Other/Stopwatch.cs:28)

(我在VS中没有错误)

代码有问题吗?

(对不起,如果这是一个愚蠢的错误,因为我是新的脚本)

您的currentTimeText公共变量似乎没有在检查器中分配。

您正在接收的异常是空引用异常。这意味着您正在尝试从Null更改或读取数据。未设置的变量。

在这里更好地解释:什么是NullReferenceException,以及如何修复它?

异常发生在更新方法的第27行。

编辑:

提示,在Update方法的开头插入Console.Log(variable);

相关内容

  • 没有找到相关文章

最新更新