【问题标题】:How to resume game after pressing back in menu返回菜单后如何恢复游戏
【发布时间】:2021-04-14 10:10:28
【问题描述】:

嘿,我正在尝试在我的游戏中制作暂停菜单。当按下退出时暂停游戏进入菜单,但现在我希望能够按回菜单并恢复我的游戏。到目前为止,我只能暂停游戏,不能按回。此外,如果我在菜单中按播放,它会从我的教程场景而不是当前场景开始。有没有聪明的方法来做到这一点?无需重置我的游戏。

`using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.UI;

public class MenuScript : MonoBehaviour
{

    // Use this for initialization
    void Start()
    {

    }

    // Update is called once per frame
    void Update()
    {
        if (Input.GetKey(KeyCode.Escape))
        {
            if (Time.timeScale == 0)
            {
                Time.timeScale = 1;
            }
            else
            {
                Time.timeScale = 0;
            }
            SceneManager.LoadScene("Menu");




        }

    }
}`

【问题讨论】:

    标签: c# unity3d


    【解决方案1】:

    我知道这不是一个简单的问题,因为您似乎是 Unity 的新手。

    您的想法是正确的,更改时间尺度将冻结场景中的所有特工。但是,如果您加载新场景,则需要重新加载游戏场景 - 丢失您拥有的所有数据(这不是您想要的)。我的建议是在游戏场景中创建一个覆盖元素 (UI) 并显示/隐藏它。网上有多个教程use this作为起点。如果您需要更多帮助,请告诉我。

    代码示例

    // Update is called once per frame
    void Update()
    {
      if (Input.GetKey(KeyCode.Escape))
      {
        if (Time.timeScale == 0)
        {
            Time.timeScale = 1;
            pauseMenu.gameObject.setActive(true);
        }
        else
        {
            Time.timeScale = 0;
            pauseMenu.gameObject.setActive(false);
         }
      }
    }
    

    您需要使用 Unity 编辑器引用附加在此脚本上的 pauseMenu 游戏对象。

    【讨论】:

      【解决方案2】:

      根据您的需要,这也可以。

      private bool _isPaused;
      
      private void Update(){
      
            if (Input.GetKeyUp(KeyCode.Escape))
                  {
                      _isPaused = !_isPaused;
      
                      if (_isPaused)
                      {
                          //Do Pause Logic here
                      }
                      else
                      {
                          //Do Unpause Logic Here      
                      }
                  }
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-09-11
        • 1970-01-01
        相关资源
        最近更新 更多