在unity中定义一个Transform[]来保存另一个Transform[]对象
在unity中我在Transformroot中保存着地图上所有的路径节点(每个节点上我都放着一个Cube物体,这些Cube都是隐藏的)然后我已经算出了其中一条路径上的每个...
在unity中我在Transform root 中保存着地图上所有的路径节点(每个节点上我都放着一个Cube物体,这些Cube都是隐藏的)然后我已经算出了其中一条路径上的每个节点的位置保存在一个vector3[] v 中,然后我想把这条路径上的Cube显示出来(相当于绘制出这条路径)我代码是这么写的:
private Transform[] RoadTran ;
private PointGraph pointgraph=new PointGraph ();//地图上规划路径类,所有路径都在这各类里规划好了
protected Transform root;
/// <summary>
/// 显示所搜索到的路径
/// </summary>
public void DrawRoad(List<Vector3> v)
{
int c = 0;
UnityEngine.Debug.Log("c:" + c);
if (v == null) return;
if(v !=null )
{
foreach (Transform Tchild in root )
{
foreach (Vector3 Vchild in v)
{
if(Tchild.position ==Vchild)
{
RoadTran[c] = Tchild;
roadNodeGameObejct[c] = RoadTran[c].gameObject;
roadNodeGameObejct[c].renderer.enabled = true;
c++;
}
}
}
}
}
然后报错说:foreach (Transform Tchild in root )这一句NullReferenceException: Object reference not set to an instance of an object。求大神解答,在线等
我添加了root=pointgraph.root 这一句上去也不行(pointgraph.root 是路网中所有的节点的父节点)也不行,这是怎么回事呢 展开
private Transform[] RoadTran ;
private PointGraph pointgraph=new PointGraph ();//地图上规划路径类,所有路径都在这各类里规划好了
protected Transform root;
/// <summary>
/// 显示所搜索到的路径
/// </summary>
public void DrawRoad(List<Vector3> v)
{
int c = 0;
UnityEngine.Debug.Log("c:" + c);
if (v == null) return;
if(v !=null )
{
foreach (Transform Tchild in root )
{
foreach (Vector3 Vchild in v)
{
if(Tchild.position ==Vchild)
{
RoadTran[c] = Tchild;
roadNodeGameObejct[c] = RoadTran[c].gameObject;
roadNodeGameObejct[c].renderer.enabled = true;
c++;
}
}
}
}
}
然后报错说:foreach (Transform Tchild in root )这一句NullReferenceException: Object reference not set to an instance of an object。求大神解答,在线等
我添加了root=pointgraph.root 这一句上去也不行(pointgraph.root 是路网中所有的节点的父节点)也不行,这是怎么回事呢 展开
若以下回答无法解决问题,邀请你更新回答
1个回答
展开全部
因为Transform root没有赋值,系统不知道root是哪个GameObject.transform
更多追问追答
追问
我添加了root=pointgraph.root 这一句上去也不行(pointgraph.root 是路网中所有的节点的父节点)也不行,这是怎么回事呢
追答
pointgraph.root 这个是场景中的一个物体吗? root在pointgraph类中是怎么定义的?
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询