2016-05-01 296 views
0

如何在Unity中創建GUI腳本,以便在一定的秒數內重新啓動級別,以便級別定時?例如,在30秒後,電平重新開始或返回主菜單。級別計時器 - 如何在Unity中創建時間限制?

這裏是我的計時器腳本

Image

,我就被標記爲構建設置0的水平。 主菜單是一個不同的數字。

回答

1

停止使用OnGUIJavaScript/UnityScript。使用new Unity UIC#。只需創建一個文本並將文本附加到timerText插槽,您將能夠看到從0到30的計時器或任何傳入值。

C#

void Start() 
{ 
    StartCoroutine(reloadTimer(30)); 
} 

public Text timerText; 

IEnumerator reloadTimer(float reloadTimeInSeconds) 
{ 
    float counter = 0; 

    while (counter < reloadTimeInSeconds) 
    { 
     counter += Time.deltaTime; 
     timerText.text = counter.ToString(); 
     yield return null; 
    } 

    //Load new Scene 
    SceneManager.LoadScene(0); 
} 

確保使用UnityEngine.SceneManagement;using UnityEngine.UI;包括

的JavaScript

public var timerText : UI.Text; 

function Start() { 
    reloadTimer(30); 
} 

function reloadTimer(reloadTimeInSeconds : float){ 
    var counter = 0; 

    while (counter < reloadTimeInSeconds) 
    { 
     counter += Time.deltaTime; 
     timerText.text = counter.ToString(); 
     yield; 
    } 

    //Load new Scene 
    UnityEngine.SceneManagement.SceneManager.LoadScene(0); 
} 
+0

有沒有什麼辦法,這可能是在統一的腳本,而不是C# 。我可以使用它,但我不會完全理解一段時間。謝謝您的幫助。 – colt1911

+0

Assets/timerc#.cs(11,16):錯誤CS0246:無法找到類型或名稱空間名稱「Text」。你是否缺少using指令或程序集引用? – colt1911

+0

@ colt1911閱讀我答案的最後一行。 – Programmer