2017-08-08 30 views
1

我正試圖在遊戲之上的屏幕上重新啓動按鈕。但似乎該按鈕不起作用。我已經把它放在On Click()菜單上,當我點擊它時,它一直沒有做任何事情。 我的代碼:重新啓動按鈕在Unity 5.6上不起作用

using System.Collections; 
using UnityEngine; 
using UnityEngine.SceneManagement; 

public class ButtonCodes:MonoBehaviour 
{ 
    public void RestartGame() 
    { 
     SceneManager.LoadScene(0); 
    } 
} 
+0

您是否將此場景添加到構建中? – KamikyIT

回答

0

謝謝大家回答。你所說的所有事情都已經完成了,但按鈕不起作用。最後,我自己解決了這個問題。我意識到我的Canvas沒有EventSystem,這對於按鈕的工作來說是非常重要的。

+0

當您在Unity中製作新的Canvas時,默認情況下會創建EventSystem,UI需要它才能運行。 將來您可能希望包含更多信息,例如「我的當前用戶界面不工作」或場景層次結構的屏幕截圖/描述。 – Bejasc

+0

好的,我會在下次嘗試。感謝您的建議。 – irfancen

1

Assumming沒有錯誤,它不工作的最可能的原因是你沒有指定文件中的任何場景/構建設置(按Ctrl + Shift + B)

https://docs.unity3d.com/ScriptReference/SceneManagement.SceneManager.LoadScene.html

這表明如果使用sceneBuildIndex,則需要在構建設置中排序場景。如果您不斷地在「生成設置」中重新排序場景,則還可以使用使用sceneName的第二個LoadScene,這可能更加可靠。另外,如果您還沒有,請嘗試使用Debug.Log來確保代碼的那部分實際上被調用。

2

調查4.6 UI按鈕。

在場景中創建按鈕,在OnClick中,將您的ButtonCodes的gameObject拖入目標字段(左側),並在右側選擇RestartGame,這將是ButtonCodes下的選項。

這可能是你已經完成了..如果是這樣的話,嘗試使用一些Debug.Log("Button was Clicked");陳述。如果顯示出來,很可能您沒有將Build設置爲包含任何級別。 (團結不只是壓着打在此處添加的水平 - 你必須這樣做你自己)

0

嘗試把在場景管理器的場景的名稱,讓您的構建設置,確保你的場景,你會負荷

public void RestartGame() 
{ 
    SceneManager.LoadScene(//name of your scene); 
} 
0

1-有時當我複製一個按鈕並將其與其他功能一起使用時,它不起作用。

2-我面對的另一個原因是當我使用繼承類時,它也不能工作很多次。

3-有時您忘記添加「0」場景來建立設置。

相關問題