【Unity2D】制作暂停菜单PauseMenu

  • Post author:
  • Post category:其他




学习目标:

上一篇文章:




CSDN


icon-default.png?t=M0H8
https://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-Platform



https://www.bilibili.com/video/BV1cz411i7cy





学习内容:


涉及到按钮点击事件,以及游戏暂停,先在Canvas上创建一个Panel,添加图片Sprite并调整透明度,再添加三个按钮给它,



然后再Canvas创建脚本就叫pausemenu


内容如下



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,所以我做了个提示告诉大伙我还不会做。




学习产出:


以下是游戏效果



版权声明:本文为dangoxiba原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。