在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 是路网中所有的节点的父节点)也不行,这是怎么回事呢
展开
 我来答
若以下回答无法解决问题,邀请你更新回答
八星级
2014-08-22 · 超过18用户采纳过TA的回答
知道答主
回答量:65
采纳率:0%
帮助的人:33.1万
展开全部
因为Transform root没有赋值,系统不知道root是哪个GameObject.transform
更多追问追答
追问
我添加了root=pointgraph.root 这一句上去也不行(pointgraph.root 是路网中所有的节点的父节点)也不行,这是怎么回事呢
追答
pointgraph.root  这个是场景中的一个物体吗? root在pointgraph类中是怎么定义的?
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式