【问题标题】:Don't know how to use SetActive() properly不知道如何正确使用 SetActive()
【发布时间】:2016-04-19 00:40:50
【问题描述】:

所以,我编写的脚本没有完全运行。我有一个暂停按钮,当我按下它时,它会触发我的 bool 并显示它工作正常,但是当我“暂停”时,我的 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;
    }
}

【问题讨论】:

    标签: c# unity3d unityscript


    【解决方案1】:

    建议您将代码更改为:

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

    【讨论】:

    • @ZacharyTurner 这条路还有很长的路要走。让我们在努力中互相鼓励。 ^_^
    猜你喜欢
    • 2013-08-13
    • 2021-04-21
    • 1970-01-01
    • 1970-01-01
    • 2011-12-13
    • 1970-01-01
    • 1970-01-01
    • 2016-01-03
    • 2023-03-18
    相关资源
    最近更新 更多