0

我有一张游戏结束的画布和一张带有暂停菜单的画布,主屏幕上有按钮。当我玩游戏时,我死了,我的画布上的游戏出现了,但是 pausemenu 画布上的按钮不会消失或禁用,可以按下并且 pausemenu 画布出现在游戏结束上。谢谢!

在此处输入图像描述

4

2 回答 2

0

您所要做的就是使用按钮上的 .SetActive() 函数!当您在游戏结束屏幕上时,只有该画布中的元素应该处于活动状态。

首先,您将在脚本中将暂停按钮声明为公共游戏对象。然后在开始时,您在游戏开始时调用暂停按钮,但是,如果是 gameOver,则将其设置为 false。

public GameObject pauseButton;

void Start(){
pauseButton.SetActive(true);
}

void OnTriggerEnter2D(Collider2D other){
if(other.tag == "Enemy"){
pauseButton.SetActive(false);
gameOver();
}

}
于 2021-06-30T15:25:03.617 回答
0

您需要为暂停、游戏中、菜单、死亡等游戏状态制作系统。然后在画布上为每个屏幕设置父游戏对象(此对象下的每个屏幕的按钮和部分),然后启用/禁用此父游戏对象。

所以当你死了它看起来像这样

void UpdateUI(){  
    if(status == status.dead)
        canv_pause.SetActive(false);
        canv_ingame.SetActive(false);
        canv_menu.SetActive(false);
        canv_dead.SetActive(true);
    if(status == status.menu)
        canv_pause.SetActive(false);
        canv_ingame.SetActive(false);
        canv_menu.SetActive(true);
        canv_dead.SetActive(false);
    //etc...
}
于 2021-06-30T15:33:52.000 回答