我有一张游戏结束的画布和一张带有暂停菜单的画布,主屏幕上有按钮。当我玩游戏时,我死了,我的画布上的游戏出现了,但是 pausemenu 画布上的按钮不会消失或禁用,可以按下并且 pausemenu 画布出现在游戏结束上。谢谢!
问问题
143 次
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 回答