Unity LineRenderer - 无法获得参考
Posted
技术标签:
【中文标题】Unity LineRenderer - 无法获得参考【英文标题】:Unity LineRenderer - unable to get reference 【发布时间】:2020-10-08 15:33:14 【问题描述】:我在顶层有一个带有 LineRenderer 的 Unity 场景(即不是某些组件的子组件),称为“LineOfFlight”。
我正在尝试以编程方式(而不是通过编辑器)获取对它的引用:
LineRenderer
lineOfFlight;
GameObject
tmp = GameObject.Find("LineOfFlight");
if (tmp != null)
lineOfFlight = tmp.GetComponent<LineRenderer>();
Debug.Log("lineOfFlight=" + (lineOfFlight == null ? "null" : "not null") + ", tmp=" + (tmp == null ? "null" : tmp.ToString()));
在调试日志中,tmp 显示为“LineOfFlight (UnityEngine.GameObject)”,看起来不错,但 lineOfFlight 显示为“null”。即无法获取组件。
我在 Awake() 中做这一切。我做错了什么?
【问题讨论】:
能否请您在文件中包含完整的代码,而不需要编辑任何内容,包括它们所在的函数等。现在我们对您的问题的信息不完整,因为代码本身似乎为我工作。 【参考方案1】:在您的问题中未包含的部分代码中存在错误,因为代码本身在正确格式化并在函数中设置时可以正常工作。
或者,您的名为“LineOfFlight”的GameObject
的名称可能有拼写错误,或者没有添加LineRenderer
组件。
using UnityEngine;
public class LineRendererText : MonoBehaviour
LineRenderer lineOfFlight = null;
private void Start()
GameObject tmp = GameObject.Find("LineOfFlight");
if (tmp != null)
lineOfFlight = tmp.GetComponent<LineRenderer>();
Debug.Log("lineOfFlight=" + (lineOfFlight == null ? "null" : "not null") + ", tmp=" + (tmp == null ? "null" : tmp.ToString()));
【讨论】:
以上是关于Unity LineRenderer - 无法获得参考的主要内容,如果未能解决你的问题,请参考以下文章