首页 > 解决方案 > 如何使用退出键暂停/取消暂停游戏?

问题描述

我有两个场景。所有游戏数据和对象所在的游戏场景和主菜单场景。

该脚本位于游戏场景中,在玩游戏时,当玩家按下退出键时,它会暂停游戏并加载主菜单场景,并让游戏场景也加载:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;

public class BackToMainMenu : MonoBehaviour
{
    // Start is called before the first frame update
    void Start()
    {
        
    }

    // Update is called once per frame
    void Update()
    {
        if(Input.GetKeyDown(KeyCode.Escape))
        {
            Time.timeScale = 0;
            MenuController.LoadSceneForSavedGame = false;            
            SceneManager.LoadScene(0, LoadSceneMode.Additive);            
            Cursor.visible = true;
        }
    }
}

问题是如何在此脚本中使第二次按下退出键将卸载主菜单场景并恢复游戏?如果游戏暂停,第二次按此脚本中的转义键将起作用,或者我需要在主菜单场景中按转义键的另一个脚本?

标签: c#unity3d

解决方案


我建议制作一个 UI,而不是在场景之间不断切换。将来加载大型场景可能会花费不必要的长时间,这在优化方面是不利的。在场景之间的转换过程中,您的数据将会丢失。因此,您可以学习单例设计模式逻辑作为替代方案。这将允许您在场景之间的过渡中创建一个不可磨灭的对象。我是新来的团结。据我所知,我试图回答。我希望我能有用。

用户界面:https ://www.youtube.com/watch?v=JivuXdrIHK0

单例设计模式:https ://www.youtube.com/watch?v=mpM0C6quQjs


推荐阅读