簡體   English   中英

無法在 Invoke 中調用方法

[英]Cant call a method in Invoke

所以我有一個奇怪的問題,我試圖在Invoke調用一個方法,但由於某種原因它不起作用 IDK 我做錯了什么

public void EndGame ()
{
    if (GameHasEnded == false)
    {
      GameHasEnded = true;
      UnityEngine.Debug.Log("Game Over");
      Invoke("Restart",2f);
    }
    void Restart ()
    {
        SceneManager.LoadScene(SceneManager.GetActiveScene().name);
    }
}

每當我運行此腳本時,我都會收到一條消息

嘗試調用方法:無法調用GameManager.Restar t”

為什么您的方法嵌套在EndGame方法中?

應該是

public void EndGame ()
{      
    if (!GameHasEnded)
    {
        GameHasEnded = true;
        UnityEngine.Debug.Log("Game Over");
        Invoke(nameof(Restart), 2f);  
    }
}

private void Restart ()
{
    SceneManager.LoadScene(SceneManager.GetActiveScene().name);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM