我创建了一个2D数组:3
列和222
行(请参阅代码)。现在我想插入第一行0,0,0
。我怎样才能做到这一点。
到目前为止,我有这个:
public float[,] arrayPosSpheres = new float[222, 3];
//array row one with zeros
arrayPosSpheres [0] = [0,0,0];
稍后我想在我的数组中访问这些值。例如,第一行和第二列。我该怎么做?
修改:
// Update is called once per frame (ORIGINAL)
void Update()
{
int initialpos = 10;
//create an array with 3 columns (x,y,z) and numberOfPoints rows
//Vector3[] arrayPosSpheres=new Vector3[(int)(20/(sizeSphere*overlay))];
for (int j = 0; j < 221; j++)
{
arrayPosSpheres [j] = arrayPosSpheres [j + 1];
}
float functionXvalue = 221 * scaleInputRange / 222;
if (animate)
{
functionXvalue += Time.time * animSpeed;
}
arrayPosSpheres [221]= Vector3 (functionXvalue,ComputeFunction(functionXvalue)*scaleResult,0);
for (int i = 0; i < 221; i++)
{
arrayPosSpheres [i] = arrayPosSpheres [i + 1];
}
for (int m = 221; m = 0; m--)
{
for (int q = 0; q < 3; q++)
{
// access of x,y and z values of sphere 221
plotPoints[m].transform.position = arrayPosSpheres[m][q];
}
}
}
答案 0 :(得分:0)
感谢您的回答。我认为我需要两个循环,一个用于访问行,一个用于访问列。
这样的事情是否正确:
//
public float[,] arrayPosSpheres = new float[222, 3];
GameObject[] plotPoints;
// Use this for initialization
void Start () {
//array row one with zeros
arrayPosSpheres [0][0] = 0;
arrayPosSpheres [0][1] = 0;
arrayPosSpheres [0][2] = 0;
//fill whole array with zeros
for (int k = 1; k <= 221; k++) {
for (int s = 1; s <= 3; s++) {
arrayPosSpheres [k] [s] = arrayPosSpheres [k - 1] [s - 1];
}
}
我的目标是在第一行中按照我说的零。然后我会根据第一行中的零填充我的数组中的零。