Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# can';t使用(CanvasRenderer.cull)函数使图像游戏对象不可见_C#_Unity3d - Fatal编程技术网

C# can';t使用(CanvasRenderer.cull)函数使图像游戏对象不可见

C# can';t使用(CanvasRenderer.cull)函数使图像游戏对象不可见,c#,unity3d,C#,Unity3d,因此,通过下面的代码,我试图使两个图像的可见性消失。但是添加到画布上的图像不会改变可见性 下面是简单的代码: public GameObject g; public GameObject ga; // Use this for initialization void Start () { g.GetComponent<CanvasRenderer>().cull = false; ga.GetComponent<CanvasRenderer>().c

因此,通过下面的代码,我试图使两个图像的可见性消失。但是添加到画布上的图像不会改变可见性

下面是简单的代码:

public GameObject g;
public GameObject ga;

// Use this for initialization
void Start () {

    g.GetComponent<CanvasRenderer>().cull = false;

    ga.GetComponent<CanvasRenderer>().cull = false;


}
公共游戏对象g;
公共游戏对象遗传算法;
//用于初始化
无效开始(){
g、 GetComponent().cull=false;
ga.GetComponent().cull=false;
}
这里g和ga是从编辑器分配的。而脚本也作为附加到游戏对象的脚本执行

这是场景保持不变的前后截图:

更新-我不想让它处于非活动状态。 更多信息-我想在这些图像后面放置一些UI元素,以便使图像不可见,并且如果可能的话,保持画布对象处于活动状态。谢谢。

API上说

指示是否忽略此渲染器发射的几何体

这不是真的吗

你能不能不用

this.gameObject.SetActive(false);
要禁用游戏对象并使其不可见,API说

指示是否忽略此渲染器发射的几何体

这不是真的吗

你能不能不用

this.gameObject.SetActive(false);

要禁用游戏对象并使其不可见?

您在画布下有两个名为“图像”和“图像(1)”的图像,您希望在不取消激活画布的情况下隐藏它们或使它们不可见

您有两个选择:

1。取消激活“图像”和“图像(1)”

找到包含两个图像的两个游戏对象

GameObject imgObj1 = GameObject.Find("Image");
GameObject imgObj2 = GameObject.Find("Image (1)");
GameObject imgObj1 = GameObject.Find("Image");
GameObject imgObj2 = GameObject.Find("Image (1)");
取消激活/隐藏它们

imgObj1.SetActive(false);
imgObj2.SetActive(false);
img1.enabled = false;
img2.enabled = false;

2。禁用组件。在画布下显示该图像的组件实际上是or组件

找到包含两个图像的两个游戏对象

GameObject imgObj1 = GameObject.Find("Image");
GameObject imgObj2 = GameObject.Find("Image (1)");
GameObject imgObj1 = GameObject.Find("Image");
GameObject imgObj2 = GameObject.Find("Image (1)");
从每个组件中获取图像或RawImage组件

Image img1 = imgObj1.GetComponent<Image>();
Image img2 = imgObj2.GetComponent<Image>();

画布下有两个名为“Image”和“Image(1)”的图像,您希望在不取消激活画布的情况下隐藏它们或使它们不可见

您有两个选择:

1。取消激活“图像”和“图像(1)”

找到包含两个图像的两个游戏对象

GameObject imgObj1 = GameObject.Find("Image");
GameObject imgObj2 = GameObject.Find("Image (1)");
GameObject imgObj1 = GameObject.Find("Image");
GameObject imgObj2 = GameObject.Find("Image (1)");
取消激活/隐藏它们

imgObj1.SetActive(false);
imgObj2.SetActive(false);
img1.enabled = false;
img2.enabled = false;

2。禁用组件。在画布下显示该图像的组件实际上是or组件

找到包含两个图像的两个游戏对象

GameObject imgObj1 = GameObject.Find("Image");
GameObject imgObj2 = GameObject.Find("Image (1)");
GameObject imgObj1 = GameObject.Find("Image");
GameObject imgObj2 = GameObject.Find("Image (1)");
从每个组件中获取图像或RawImage组件

Image img1 = imgObj1.GetComponent<Image>();
Image img2 = imgObj2.GetComponent<Image>();

谢谢你的评论。我不想使用SetActive(false)。这是可行的,但我也想隐藏画布,这有协同程序。因此,我们在寻找其他方法。我不知道关闭第一行几何体渲染器该怎么办。我不想使用SetActive(false)。一些背景信息在这里可能会有所帮助。也许是这样:?如果你必须处理多个UI元素来隐藏,也许可以将其放入画布组?然后canvasgroup.alpha=0感谢您提供的信息和链接,我会在尝试这些链接后进行更新。谢谢您的评论。我不想使用SetActive(false)。这是可行的,但我也想隐藏画布,这有协同程序。因此,我们在寻找其他方法。我不知道关闭第一行几何体渲染器该怎么办。我不想使用SetActive(false)。一些背景信息在这里可能会有所帮助。也许是这样:?如果你必须处理多个UI元素来隐藏,也许可以将其放入画布组?然后canvasgroup.alpha=0感谢您提供的信息和链接,我会在尝试这些链接后进行更新。我不明白您的意思。您的最后一个问题被标记为重复问题,重复问题显示隐藏对象的方法(取消激活对象或禁用组件)。为什么还要再问这个问题呢?答案显示了两种方式(SetActive和canvasRenderer),但这个问题是关于那些不起作用的,也不是以所描述的方式起作用的,这是一种简单的方式。谢谢。“但是这个问题是关于那些不起作用的。”我想你是新来的,但它不是那样的。如果上一个问题或副本中的解决方案对您不起作用,请编辑您的问题并添加不起作用的新代码,然后解释新问题是什么。之后,您可以使用@username通知留下答案的人或结束问题的人该问题不起作用,他们将根据您的编辑回复您。谢谢提供信息。我不明白您的意思。您的最后一个问题被标记为重复问题,重复问题显示隐藏对象的方法(取消激活对象或禁用组件)。为什么还要再问这个问题呢?答案显示了两种方式(SetActive和canvasRenderer),但这个问题是关于那些不起作用的,也不是以所描述的方式起作用的,这是一种简单的方式。谢谢。“但是这个问题是关于那些不起作用的。”我想你是新来的,但它不是那样的。如果上一个问题或副本中的解决方案对您不起作用,请编辑您的问题并添加不起作用的新代码,然后解释新问题是什么。之后,您可以使用@username通知留下答案的人或结束问题的人该问题不起作用,他们将根据您的编辑回复您。谢谢提供信息。