定时器超出限制时获取NullReferenceException

时间:2017-02-01 06:38:52

标签: c# unity3d

当时间超过最大值时,它会使用NullReferenceException错误来阻止我。我似乎无法弄清楚为什么它会给我这个错误。错误发生在相同的代码行上,这两行代码都是嵌套的if语句。它可能是scene.score,但score是在PlayerScript脚本中定义的。

public int timeLimit = 15;
public float startTime = 0;

PlayerScript scene = GetComponent<PlayerScript>();
    if (startTime >= timeLimit)
    {
        if (scene.score >= 25)
        {
            SceneManager.LoadScene("WinScene");
        }
        if (scene.score < 25)
        {
            SceneManager.LoadScene("LoseScene");
        }
    }  

修改
当我在Unity中测试它时,超过15秒后,它给我错误告诉我它是在某一行代码上。这是第一个嵌套的if语句。我评论说第一个并留下第二个进行测试,果然它告诉我这个新行导致了错误。

修改
看起来像GetComponent切换FindObjectOfType就可以了。 <PlayerScript>是一个不同的脚本,我试图从中提取信息,即。 score

0 个答案:

没有答案