【发布时间】:2018-06-11 12:16:46
【问题描述】:
我正在为我的游戏制作暂停菜单。在级别 1 中,我的暂停菜单有效,但在级别 2 中,如果您按 esc,它会出现,但由于某种原因按钮无法交互。我从关卡复制了画布。
public class PauseMenu : MonoBehaviour {
public string levelSelect;
public string mainMenu;
public bool isPaused;
public GameObject pauseMenuCanvas;
void Start (){
}
void Update () {
if(isPaused)
{
pauseMenuCanvas.SetActive(true);
Time.timeScale = 0f;
} else {
pauseMenuCanvas.SetActive(false);
Time.timeScale = 1f;
}
if(Input.GetKeyDown(KeyCode.Escape))
{
isPaused = !isPaused;
}
}
public void Resume()
{
isPaused = false;
}
public void LevelSelect()
{
Application.LoadLevel(levelSelect);
}
public void Quit()
{
Application.LoadLevel(mainMenu);
}
}
【问题讨论】:
-
你有 EventSystem 吗?
-
没有用过,也不知道那是什么,但我不明白为什么它在我的第一级有效,但在第二级无效
-
@MartijnVerkerke 当您在第一关的编辑器中查看 GameObject 列表时,它们应该是 EventSystem 对象
-
是的,在第一层,我应该把它复制到第二层吗?
-
@MartijnVerkerke 是的,你总是需要这个。通常它是在您创建 UI 对象时自动创建的,但是因为您复制了它,所以没有发生这种情况