-1

我是学习 C# 的新手,所以我试图一次找出一点点。今天的任务是让我的光标在我打开面板时出现和消失。我知道统一很奇怪,你必须构建你的项目才能看到光标的变化。但是,在所述构建中,当我按下转义键时,我的面板会出现,但我的光标不会。如果我关闭并重新打开面板,光标将出现,然后一切正常。

我的代码中的某些东西导致了这种情况,或者它只是一个统一错误?

另外,由于我是新手,因此不胜感激。感谢您的时间!

public class MenuManager : MonoBehaviour
{
    public GameObject pauseMenu;
    public bool gamePause = false;
    bool cursorHide = true;

    // Start is called before the first frame update
    void Start()
    {
        UpdateCursor();
    }


    // Update is called once per frame
    void Update()
    {
        if (Input.GetKeyDown(KeyCode.Escape))
        {
            cursorHide = !cursorHide;
            UpdateCursor();
            PauseMenuOpen();
        }
    }

    private void PauseMenuOpen()
    {
        if (!gamePause)
        {
            pauseMenu.SetActive(true);
            gamePause = true;
        }
        else
        {
            pauseMenu.SetActive(false);
            gamePause = false;
        }
    }

    private void UpdateCursor()
    {
        Cursor.visible = !cursorHide;
    }

    public void QuitGame()
    {
        Application.Quit();
    }
}
4

1 回答 1

0

使用此代码。它会工作的

private bool isCursorHide;
private void Update(){
    if (Input.GetKeyDown(KeyCode.Escape))
       CursorToggler();
}
private void CursorToggler(){
  if(isCursorHide){
        isCursorHide =!isCursorHide;
        Cursor.visible = isCursorHide;
  }
  else{
     isCursorHide =!isCursorHide;
        Cursor.visible = isCursorHide;
   }
} 
于 2021-09-12T09:57:12.653 回答