首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Unity3D:访问静态对象GameObject

Unity3D:访问静态对象GameObject
EN

Stack Overflow用户
提问于 2019-09-10 18:32:40
回答 1查看 185关注 0票数 0

我在试着做一个高塔防御游戏。它是3D的,但主要是从上面看(2D)。但是如果我右击鼠标,相机可以使用WASD键进行缩放和漫游。这是可行的。

然而,在竞技场旁边,我有一个侧边栏,在那里我可以选择要建造的塔等等。但在缩放/漫游时,侧边栏变得毫无用处,所以我想把它隐藏起来。

我试着从camera-script中做到这一点,所以我在侧边栏中添加了一个script-component,使其成为静态的(可从anderswo访问):

代码语言:javascript
复制
using UnityEngine;
public class SideBar : MonoBehaviour
{
    public static SideBar Instance;
    void OnEnable() { Instance = this; }
}

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

代码语言:javascript
复制
SideBar.Instance.GameObject.SetActive(false);

但这不会编译: CS1061:'SideBar‘不包含'GameObject’的定义

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-09-10 18:39:20

gameObject是类名,实际实例是使用小写GameObject引用的,因此请更改:

代码语言:javascript
复制
SideBar.Instance.GameObject.SetActive(false);

代码语言:javascript
复制
SideBar.Instance.gameObject.SetActive(false);

你应该会很好

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57868938

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档