如何解决每个游戏会话仅显示一次画布面板
我正在为我的 Unity 项目开发 UI,我需要在我们开始玩的关卡上显示我的主菜单。例如,如果我们从第 1 级开始玩,则应该显示 MainMenu 画布面板,并且不应在整个游戏会话的任何其他级别显示。它应该只在像这样重新启动游戏后显示。我打开游戏,显示 Game Begins (Level1) 主菜单,我们玩到第 10 级并关闭游戏。我们稍后打开它,游戏现在应该从第 10 级的场景开始,主菜单画布在其上方。我们点击播放我们玩游戏。所以我希望这个画布每个会话只显示一次,而不是每个级别。 实现这个主菜单在场景上的叠加。如下图所示,我在每个级别都以这种方式设置了画布。enter image description here
解决方法
static bool
怎么样。将脚本附加到您的画布,该脚本将根据静态布尔值是假还是真来激活或停用画布游戏对象。静态 bool 将导致它在每个游戏中创建一次并在所有 LoadMenuOnce
脚本(或您决定将其添加到的任何脚本)中共享。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class LoadMenuOnce : MonoBehaviour
{
protected static bool menuLoadedOnce = false;
// Start is called before the first frame update
void Start()
{
if (menuLoadedOnce == false)
{
gameObject.SetActive(true);
menuLoadedOnce = true;
}
else
{
gameObject.SetActive(false);
}
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。