2013-10-21 35 views
0

我在運行時在我的遊戲中顯示文本一秒鐘出現問題,所以我想知道是否可以添加或刪除GUI標籤運行 ?如何在運行時在統一中添加gui文本

+0

它。要麼打電話要麼不要。 – Bart

+0

@Bart:但是如何? – Akari

+2

那麼,你現在怎麼顯示你的文本?如果它是一個簡單的GUI.Label調用,那麼如果你不希望它被顯示,就不要調用它。 – Bart

回答

1

GUI組件在每一幀都被繪製。 OnGUI()函數就像Update()函數一樣,除了與Update()函數不同之外,GUI組件可以在其中調用。

您可以將OnGUI視爲一個循環。它會按順序調用在其中聲明的GUI組件,然後每幀重新執行一遍。因此,如果您掛鉤到此循環並阻止某些組件在運行時被調用,那麼這些組件將不會呈現的下一幀。

下面是一組功能,可以讓你做,這是一個特定的時間:當然

private bool guiIsOn = true; 

private void TurnOffGUIInSeconds(int seconds) 
{ 
    StartCoroutine(_TurnOffGUIInSeconds(seconds)); 
} 

private IEnumerator _TurnOffGUIInSeconds(int seconds) 
{ 
    yield return new WaitForSeconds(seconds); 
    guiIsOn = false; 
} 

void OnGUI() 
{ 
    if(guiIsOn) 
    { 
     GUI.Label(new Rect(5,5,5,5), "Label text"); 
    } 
} 
2

你的意思是這樣的嗎?

void OnGUI() { 
    if (textShouldBeShown) { 
     GUI.Label(new Rect(10f, 10f, 100f, 50f), "MyText"); 
    } 
} 
相關問題