2016-05-01 127 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