unity3d - Unity3D:访问静态对象 GameObject
问题描述
我正在尝试制作塔防游戏。它是 3D,但主要是从上方(2D)观看。但是如果我右键单击鼠标,相机可以使用 WASD 键进行缩放和漫游。这行得通。
但是,在比赛场地旁边,我有一个侧边栏,我可以在其中选择要建造的塔楼等等。但是在缩放/漫游时侧边栏变得无用,所以我想隐藏它。
我试图从相机脚本中做到这一点,所以我在侧边栏添加了一个脚本组件以使其成为静态(可从 anderswo 访问):
using UnityEngine;
public class SideBar : MonoBehaviour
{
public static SideBar Instance;
void OnEnable() { Instance = this; }
}
在相机控制器脚本中,我尝试以下隐藏侧边栏(以及里面的所有内容):
SideBar.Instance.GameObject.SetActive(false);
但这不会编译:CS1061:“SideBar”不包含“GameObject”的定义
解决方案
GameObject是类的名字,实际实例是用小写的gameObject引用的,所以改一下:
SideBar.Instance.GameObject.SetActive(false);
到
SideBar.Instance.gameObject.SetActive(false);
你应该没事
推荐阅读
- excel - 如何在excel中创建一致的日期范围?
- python - Python - 在 PyQt5 中循环创建按钮
- amazon - 亚马逊产品广告 API 的高级用户是什么?
- angular - Angular 6中模板中的动态href和id
- typescript - 在应用程序加载之前将应用程序重定向到外部 URL:Angular 6
- javascript - jQuery:非常简单的标签切换
- couchdb - couchDb map/reduce min&max + 其他数据
- jquery - 从父元素而不是子元素中删除属性
- selenium - 如何在高位图表中选择以下数据点
- c# - 为什么 GDI+ 中的桌面描述符仅限于一台显示器?