统一画布按钮的问题

问题描述:

所以,我有我的游戏按钮,包括:主菜单按钮,重新启动按钮和播放按钮。一切工作正常,但偶尔有一个按钮的文本不会加载,其中一个不起作用。我不知道如何解决这个问题,因为它是随机发生的,而不是每次都发生。统一画布按钮的问题

的按钮的代码:

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

的方式你的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