我创建了一个222行和3列的数组。之后我在第222行放了一些值(x,y,z)。现在我想做以下几点:
// create an array of 222 rows and 3 columns filled with zeros
public float[,] arrayPosSpheres = new float[222, 3];
enter code here//loop change of x value for each of the spheres
for (int k = 220; k = 0; k--) {
arrayPosSpheres [k, 0] = arrayPosSpheres [k + 1, 0] - sizeSphere * overlay;
}
所以我想有一个值220,第0列,它将是第221行的值,第0列减去某些东西。但是,我收到了一个错误。
Assets / Scripts / SineWaveSpheres.cs(138,51):错误CS0019:运算符-' cannot be applied to operands of type
float'和`UnityEngine.Vector3'
Assets / Scripts / SineWaveSpheres.cs(136,17):错误CS0029:无法隐式转换类型int' to
bool'
我该怎么做?
答案 0 :(得分:1)
在for
循环中,您将0分配给k
,而不是检查k是等于还是大于k
for (int k = 220; k >= 0; k--)
作为旁注,尽量避免使用固定数字。 arrayPosSpheres.GetLength(0);
将返回行的长度,即222.使用它初始化k
并从中减去2作为索引和最后的固定值
for (int k = arrayPosSpheres.GetLength(0) - 2; k >= 0; k--)