Unity3D:访问静态对象GameObject

Unity3D: Access a static objects GameObject

我正在尝试制作一款塔防游戏。它是 3D,但主要是从上方 (2D) 观看。 但是如果我右击鼠标,相机可以使用 WASD 键缩放和漫游。这行得通。

然而,在比赛场地旁边,我有一个侧边栏,我可以在其中选择要建造哪些塔等等。 但是在zooming/roaming时侧边栏就没用了,所以我想把它隐藏起来。

我正在尝试从相机脚本中做到这一点,所以我在边栏中添加了一个脚本组件以使其成为静态的(可从 anderswo 访问):

using UnityEngine;
public class SideBar : MonoBehaviour
{
    public static SideBar Instance;
    void OnEnable() { Instance = this; }
}

在 camera-controller-script 中,我尝试使用以下方法隐藏侧边栏(以及里面的所有内容):

SideBar.Instance.GameObject.SetActive(false);

但这不会编译:CS1061:'SideBar' 不包含 'GameObject'

的定义

GameObject是class的名字,实际实例是用小写的gameObject引用的,所以改成:

SideBar.Instance.GameObject.SetActive(false);

SideBar.Instance.gameObject.SetActive(false);

你应该没事