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);
你应该没事
我正在尝试制作一款塔防游戏。它是 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);
你应该没事