如何访问阵列或由一个锯齿形阵列的一个的元素?

时间:2019-02-01 22:14:51

标签: c# arrays unity3d jagged-arrays

我有一个锯齿形阵列,其中每个阵列包含一个路点系统。球员们在整个移动连接的航点系统的分支地图,这样,当他们到达一个路口,他们可以选择一个航点系统“路径”,通过它来移动。

这是我的代码:

在可序列化脚本中,我具有数组的一个维度:

public Transform[] Array;

public TransformSquareArray(Transform[] array)
{
    Array = array;
}

在另一个类中,锯齿状数组及其对应数组:

public TransformSquareArray[] squarepointSystems = new TransformSquareArray[]
{

    new TransformSquareArray(new Transform[0]),
    new TransformSquareArray(new Transform[1]),
    new TransformSquareArray(new Transform[2]),
    new TransformSquareArray(new Transform[3]),
    new TransformSquareArray(new Transform[4]),
    new TransformSquareArray(new Transform[5]),
    new TransformSquareArray(new Transform[6])
};

通过这种方式,我可以在Unity3d检查器中编辑每个数组中有多少个游戏对象。现在,我想每个数组中的访问以这种方式,我可以编辑的球员变换“,使他们能够在每个阵列中“跳”到他们移动。最初,我考虑过制作一系列“转换”变量,每个变量都包含锯齿状的每个数组,但是我做不到,因为我没有以正确的方式进行操作,或者因为我失败了语法。但是因为两个数组都没有名称,所以我尝试这样做(例如,仅一个数组):

 Transform[] firstRoute = squarepointSystems(new Transform[0]);

我不工作。我究竟做错了什么?谢谢。

1 个答案:

答案 0 :(得分:0)

  

我在做什么错了?

您引用了一个公共变量squarepointSystems,它是TransformSquareArray的数组,作为方法调用:squarepointSystems(new Transform [0])。我不确定您对代码的实际意图是什么,但是可能会因歧义而消除。这是一个裂缝,并查看编译器错误的亮点(与我的相同):

enter image description here

所以我认为你错了什么你的代码是试图做并让你的类/变量混合起来。