2015-09-03 43 views
-1

當我按下Tab鍵時,如何使GUI標籤和Box保持在屏幕上 - 此時此代碼允許它出現,但當您釋放Tab時,它會消失。謝謝允許GUI留在屏幕上,按下按鈕

public void OnGUI() 
{ 
    if (Input.GetKey(KeyCode.Tab)) 
    { 
     GUI.contentColor = Color.white; 
     GUI.Box(new Rect(1000, 5, 400, 400), "What You Should Know"); 
     GUI.Label(new Rect(1135, 5, 400, 400), "___________________"); 
     GUI.Label(new Rect(1145, 23, 400, 400), "<color=cyan><size=20>The </size></color>" + "<color=cyan><size=20>" + this.cdrw + "</size></color>"); 
    } 
} 

回答

0

當下標籤按鈕被釋放,Input.GetKey(KeyCode.Tab)將返回false。如果您希望在第一次按下Tab之後始終顯示GUI元素,則可以在Input.GetKey(KeyCode.Tab)true時修改布爾標誌,並將該標誌用作顯示/隱藏GUI的條件。例如:

bool showGui = false; 

public void Update(){ 
    if (Input.GetKey(KeyCode.Tab)) 
    { 
     showGui = true; 
    } 
} 

public void OnGUI() 
{ 
    if (showGui) 
    { 
     GUI.contentColor = Color.white; 
     GUI.Box(new Rect(1000, 5, 400, 400), "What You Should Know"); 
     GUI.Label(new Rect(1135, 5, 400, 400), "___________________"); 
     GUI.Label(new Rect(1145, 23, 400, 400), "<color=cyan><size=20>The </size></color>" + "<color=cyan><size=20>" + this.cdrw + "</size></color>"); 
    } 
} 

希望這有助於!如果您有任何問題,請告訴我。

編輯:如果你想切換與標籤印刷機的GUI的知名度,你可以使用Input.GetKeyDown(KeyCode.Tab)(只觸發第一個幀標籤被按下),並更改Update()否定showGui每次Tab是按:

public void Update(){ 
    if (Input.GetKeyDown(KeyCode.Tab)) 
    { 
     showGui = !showGui; 
    } 
} 
+0

非常感謝你,你的天才! :) – Jaindreas

+0

沒問題,我很高興我可以幫助! – Serlite

+0

無論如何,我可以通過按再次關閉它?對不起,麻煩了:/ – Jaindreas