调用不被调用

时间:2018-08-08 21:48:59

标签: c# unity3d

我正在尝试稍微延迟我的场景加载时间,以便在加载新场景之前让我的按钮声音播放完毕,但是我似乎遇到了错误,考虑到我的另一个按钮使用了完全相同的代码,这很奇怪。下面的Debug不会被调用。谢谢!

public class DeathScene : MonoBehaviour {
    public void PlayAgain()
    {
        Invoke("Restart", 0.25f);
    }
    void Restart()
    {
        Debug.Log("restart");
        SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex);
    }
}

2 个答案:

答案 0 :(得分:3)

  1. 检查Time.scale不为零。
  2. 检查gameObject未被破坏。
  3. 检查IsInvoking的返回值是正确的。

如果Invoke仍然没有问题,则可能是Invoke的错误,请使用StartCoroutine

答案 1 :(得分:1)

Invoke对被破坏的GameObject不起作用。我想您的GameObject在解雇PlayAgain之前已被销毁。通过OnDestroy

进行检查
void OnDestroy () {
    Debug.Log("Oops");
}