GUI按钮没有通过脚本引用响应?

时间:2018-04-01 12:24:01

标签: unity3d onclick uibutton

所以我正在制作一个暂停菜单,出于某种原因,当我点击显示我的UI面板时,按钮没有响应。我甚至在Inspector-OnClick()中设置得很好。它显示了功能和一切,所以为什么它不会显示?

public static bool GameIsPaused = false;

public GameObject pauseMenuUI;
public Button yourbutton;
public bool buttonIsClicked;



void Start ()
{
    Button btn = yourbutton.GetComponent<Button> ();
    btn.onClick.AddListener (TaskOnClick);
    buttonIsClicked = false;
}


// Update is called once per frame
public void TaskOnClick ()
{
    if (buttonIsClicked) {
        if (GameIsPaused) {
            Resume ();
        } else {
            Pause ();
        }
    }

}


public void Resume ()
{
    pauseMenuUI.SetActive (false);
    Time.timeScale = 1f;
    GameIsPaused = false;

}

public void Pause ()
{
    pauseMenuUI.SetActive (true);
    Time.timeScale = 0f;
    GameIsPaused = true;
}

public void LoadMenu()
{
    SceneManager.LoadScene ("GameScreen");
}

public void QuitGame()
{
    SceneManager.LoadScene ("GameScreen");
}

}

2 个答案:

答案 0 :(得分:0)

尝试在方法中放置断点并开始调试。 还要检查Сanvas中的Raycast Enabled属性和Button中的Image组件,应该检查

答案 1 :(得分:0)

我没有看到buttonIsClicked被设置为true的任何地方,所以似乎点击处理程序中什么都不会发生。