2016-05-16 46 views
0

所以,我有我的遊戲按鈕,包括:主菜單按鈕,重新啓動按鈕和播放按鈕。一切工作正常,但偶爾有一個按鈕的文本不會加載,其中一個不起作用。我不知道如何解決這個問題,因爲它是隨機發生的,而不是每次都發生。統一畫布按鈕的問題

的按鈕的代碼:

GameObject[] pauseObjects; 
void Start() 
{ 
    Time.timeScale = 1; 
    pauseObjects = GameObject.FindGameObjectsWithTag("ShowOnPause"); 
    hidePaused(); 
} 


public void showPaused() 
{ 
    foreach (GameObject g in pauseObjects) 
    { 
     g.SetActive(true); 
    } 
} 


public void hidePaused() 
{ 
    foreach (GameObject g in pauseObjects) 
    { 
     g.SetActive(false); 
    } 
} 

public void LoadLevel(string level) 
{ 
    Application.LoadLevel(level); 
} 

public void pauseControl() 
{ 
    if (Time.timeScale == 1) 
    { 
     Time.timeScale = 0; 
     showPaused(); 
    } 
    else if (Time.timeScale == 0) 
    { 
     Time.timeScale = 1; 
     hidePaused(); 
    } 
} 
+0

對不起,我需要一點澄清。隨機地,你的三個按鈕之一停止工作,並沒有文字? 如果是這樣,你能告訴我們的代碼,設置按鈕文本和激活/停用按鈕? 上述代碼並不能真正幫助我們,除非您的按鈕全部位於「pauseObjects」中... – Allen

回答

0

的方式你的UI是設置是不正確的。如果你在暫停期間必須循環播放所有內容,那麼你做錯了。我之前已經回答過類似的問題,只需在這裏複製並粘貼。

使用不同的畫布到單獨的您的用戶界面並根據它們的顯示時間對它們進行分組。然後,您可以切換/上的整個Canvas off。在此帖子之前,您的[帖子] [1]顯示您正在使用圖片作爲按鈕,並且您將兩個圖片作爲按鈕使用不同的腳本。使用按鈕對於按鈕圖片對於不可點擊對象。就那麼簡單。所以將這些圖像改爲按鈕。

你不需要GameOver場景。 GameOverCanvas很好。 粗體的GameObjects是對象(畫布)。下面那個以'-'開頭的是 GameObjects。

步驟1:

創建Canvas並將其命名爲MainMenuCanvas(初UI顯示當遊戲負載).Create每個子按鈕並如下它們重命名(GameObject-> UI->按鈕 ):

-playButton; 
-settingsButton; 
-exitGameButton; 

附上MainMenuCanvas scriptMainMenuCanvas對象。

步驟2:

創建Canvas並將其命名爲的GameCanvas(遊戲過程中顯示).Create每個子按鈕並如下它們重命名(GameObject-> UI->按鈕):

-pauseButton 
-jumpButton 

附上GameCanvas script的GameCanvas對象。

步驟3:

創建Canvas並將其命名爲PauseCanvas(被點擊暫停按鈕時顯示)。創建每個孩子按鈕,它們重命名爲以下(GameObject->用戶界面 - >按鈕):

-resumeButton; 
-backToMainMenuButton; 
-settingsButton; 
-exitGameButton; 

附上PauseCanvas scriptPauseCanvas對象。

第4步:

創建Canvas並將其命名爲SettingsCanvas(顯示的設置按鈕被點擊時).Create每個子鍵,下面這些重命名(GameObject->用戶界面 - >按鈕 ):

-backButton; 

附上SettingsCanvas scriptSettingsCanvas對象。

第5步:

創建Canvas並將其命名爲GameOverCanvas(當遊戲結束或玩家被殺死顯示).Create每個子鍵,下面這些重命名(GameObject-> UI- >按鈕):

-playAgainButton; 
-backToMainMenuButton; 
-exitGameButton; 

附上GameOverCanvas scriptGameOverCanvas對象。

步驟6:

遊戲現場,確保只有的GameCanvas啓用。其餘的畫布應該是手動禁用

第7步:

菜單現場,確保只有MainMenuCanvas啓用。其餘的畫布應該是手動禁用

一旦你正確地得到這個設置,我提供的UI代碼模板應該可以工作。沒有更多的UI 重疊或文字消失。您可以輕鬆添加或刪除功能。

您的UI設置應該如下圖所示。

enter image description here

+1

一切正常!感謝您付出這麼多努力並幫助我。你是一個傳奇。 – TheEnthusiast

+0

歡迎您! – Programmer