不知道如何正确使用 SetActive()

Don't know how to use SetActive() properly

所以,我编写的脚本无法完全运行。我有一个暂停按钮,当我按下它时,它会触发我的 bool 并显示它正常工作但是当我 "Paused" 我的 UI 不会弹出并且我的游戏不会停止的背景。希望你能理解清楚。我是初学者!

using UnityEngine;
using System.Collections;
using UnityEngine.UI;

public class PauseManager : MonoBehaviour {

    public GameObject pauseMenu;

    public bool paused = false;

    public void start()
    {
        pauseMenu.SetActive(false);
    }

    public void update()
    {
        if(Input.GetButtonDown("escape"))
        {
            paused = !paused;
        }
        if (paused)
        {
            pauseMenu.SetActive(true);
            Time.timeScale = 0;

        }
        if (!paused)
        {
            pauseMenu.SetActive(false);
            Time.timeScale = 1;
        }

    }
    public void Resume()
    {
        paused = false;
    }
    public void pauseButton()
    {
        paused = true;
    }
}

建议您将代码更改为:

using UnityEngine;
using System.Collections;
using UnityEngine.UI;

public class PauseManager : MonoBehaviour {

    public GameObject pauseMenu;

    bool paused = false;

    void Start()
    {
        pauseMenu.SetActive(false);
    }

    void Update()
    {
        if(Input.GetButtonDown("escape"))
        {
            paused = !paused;
        }
        if (paused)
        {
            PauseGame();

        }
        if (!paused)
        {
            ResumeGame();
        }

    }
    void PauseGame(){
        pauseMenu.SetActive(true);
        Time.timeScale = 0f;

    }

    void ResumeGame(){
        pauseMenu.SetActive(false);
        Time.timeScale = 1f;

    }
    public void Resume()
    {
        ResumeGame();
    }
    public void pauseButton()
    {
        PauseGame();
    }


}

我认为问题在于当您按下 暂停按钮 时,时间刻度为 0,并且更新不起作用。