2016-04-18 58 views
0

所以,我寫的腳本沒有完全工作。我有一個暫停按鈕,當我按下它時,它觸發我的布爾,並顯示它的工作正常,但當我「已暫停」時,我的用戶界面不會彈出,我的遊戲不會停在後臺。我希望你能清楚地理解。我是初學者!不知道如何正確使用SetActive()

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; 
    } 
} 

回答

0

建議你改變你的代碼如下:

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,和更新不起作用。

+0

謝謝你的工作非常好! –

+0

@ZacharyTurner走這條路還有很長的路要走。讓我們在我們的努力中相互鼓勵。^_ ^ – tim