上一篇文章:
CSDNhttps://mp.csdn.net/mp_blog/creation/editor/122917227
参考视频:【Unity 2D游戏开发教程】第37课 如何在Unity中实现游戏暂停菜单 Pause Menu_哔哩哔哩_bilibili【Unity 2D游戏开发教程】第37课 如何在Unity中实现游戏暂停菜单 Pause Menu游戏开发交流群:45855966 / 像素艺术交流群:977805082课程代码: https://github.com/zs8861/2D-Platformhttps://www.bilibili.com/video/BV1cz411i7cy
学习内容: 涉及到按钮点击事件,以及游戏暂停,先在Canvas上创建一个Panel,添加图片Sprite并调整透明度,再添加三个按钮给它,

内容如下
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using UnityEngine.SceneManagement; public class PauseMenu : MonoBehaviour { public static bool isPause = false; public GameObject pauseMenuUI; public GameObject settingMenuUI; public Image settingImage; private Color originColor; void Start() { originColor = settingImage.color; }
// Update is called once per frame void Update() { if (Input.GetKeyDown(KeyCode.Escape)) { if (isPause) { Resume(); } else { Pause(); } } } public void Resume() { pauseMenuUI.SetActive(false); Time.timeScale = 1.0f; isPause = false; } public void MainMenu() { isPause = false; Time.timeScale = 1.0f; SceneManager.LoadScene("MainMenu"); } public void Pause() { pauseMenuUI.SetActive(true); Time.timeScale = 0.0f; isPause = true; } public void Setting() { if (isPause) { pauseMenuUI.SetActive(false); settingMenuUI.SetActive(true); isPause = false; Time.timeScale = 0.0f; settingImage.enabled = true; } } }
Time.timeScale是用于暂停或开始游戏时间,isPause用于判断游戏是否暂停
然后依次添加点击事件,看过我上一篇文章的应该都懂。
然后我们要在开始先把PauseMenu调成false非激活状态。
因为我还不会做Setting,所以我做了个提示告诉大伙我还不会做。
学习产出:以下是游戏效果