当时间超过最大值时,它会使用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
。