繁体   English   中英

为什么GetComponent返回imageEffect的空引用?

[英]why GetComponent returns null reference for imageEffect?

这个问题是无法解决的或者是什么?我不需要提供任何代码示例,它对任何人都无效!而且我也不知道有什么可能,您只需要尝试一下: GetComponent<DepthOfField>().enabled = false;

假设我们有一个MainCamera对象,并MainCamera附加了DepthOfField图像效果脚本,然后创建另一个名为MainCamera脚本并将其附加到MainCamera ,在whatever脚本中我们whatever将其称为:

void Start() {
  GetComponent<DepthOfField>().enabled = false;
}

它不行吗?它不会,即使脚本连接到主摄像头,它也会返回null引用异常。是否可以修复? 如果是的话,我需要它!

它应该起作用,因为它们都附着在同一个GameObject上。 虽然,还有许多其他方法可以尝试解决此问题。

你可以做

 DepthOfField myDept;

void Start() {
myDept = GameObject.Find("MainCamera").GetComponent<DepthOfField>();
myDept.enabled = false;
}

或者,您可以公开 DepthOfField,然后从编辑器分配DepthOfField。 例如,

public DepthOfField myDept; 

//将MainCamera GameObject从场景中拖放到此场景,它将自动将DepthOfField脚本分配给myDept。

那你可以做

myDept.enabled = false;

为此,必须将DepthOfField附加到MainCamera GameObject。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM