【发布时间】:2021-11-11 16:50:38
【问题描述】:
我有一个脚本(称为 PauseMenu1),它只包含以下行:
public static bool IsOn = false;
我可以通过键入在第二个脚本(处理光线投射)中访问它
if (PauseMenu1.IsOn)
return;
在第二个脚本中。当暂停菜单处于活动状态时,这可以很好地防止光线投射。 现在这是我的问题:如果我粘贴“if (PauseMenu1.IsOn) return;”插入第三个脚本(FirstPersonController 或 MouseLook,它们是标准资产脚本),它给了我一个错误,上面写着:
“错误 CS0103 名称 'PauseMenu1' 在当前上下文中不存在”。
第二个脚本(光线投射),其中
if (PauseMenu1.IsOn)
return;
行作品,还包括以下几行:
[SerializeField] GameObject pauseMenu;
public void Start()
{
PauseMenu1.IsOn = false;
}
public void TogglePauseMenu()
{
pauseMenu.SetActive(!pauseMenu.activeSelf);
PauseMenu1.IsOn = pauseMenu.activeSelf;
}
将这些粘贴到其他脚本中会给我同样的错误:
“错误 CS0103 名称 'PauseMenu1' 在当前上下文中不存在”
【问题讨论】:
-
它们是否都包含在同一个命名空间中?
-
抱歉,“他们”是什么意思?
-
第三个脚本和PauseMenu1
-
我不这么认为,我不确定那是什么意思。
-
您需要将 PauseMenu1 设为公共静态类才能以这种方式访问它。