c# - 如何使用退出键暂停/取消暂停游戏?
问题描述
我有两个场景。所有游戏数据和对象所在的游戏场景和主菜单场景。
该脚本位于游戏场景中,在玩游戏时,当玩家按下退出键时,它会暂停游戏并加载主菜单场景,并让游戏场景也加载:
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;
}
}
}
问题是如何在此脚本中使第二次按下退出键将卸载主菜单场景并恢复游戏?如果游戏暂停,第二次按此脚本中的转义键将起作用,或者我需要在主菜单场景中按转义键的另一个脚本?
解决方案
我建议制作一个 UI,而不是在场景之间不断切换。将来加载大型场景可能会花费不必要的长时间,这在优化方面是不利的。在场景之间的转换过程中,您的数据将会丢失。因此,您可以学习单例设计模式逻辑作为替代方案。这将允许您在场景之间的过渡中创建一个不可磨灭的对象。我是新来的团结。据我所知,我试图回答。我希望我能有用。
推荐阅读
- google-sheets-macros - Google 表格中的井字游戏(应用程序脚本)
- c++ - 如何使用多维数组计算 C++ 中每个学生的平均值?
- python - 将 hdf5 转换为按文件夹组织的 raw
- assembly - 如何在汇编 x8086 中打印 80 位双扩展精度浮点数?
- r - 从直方图中丢弃的数据
- sql - 如何在 SAP HANA 中使用 SQL 将 test / nclob / varchar 转换为十六进制
- kotlin - 测试 Project Reactor onErrorMap 抛出的异常
- c# - 无法使用 Azure Batch Account 任务执行 powershell 脚本
- python - Pandas:“ValueError:无法将字符串转换为浮点数:”(空字符串)
- javascript - 在不读取/写入数据库的情况下更新表元素