C# 无法修改“Transform.position”的返回值,因为它不是变量

C# 无法修改“Transform.position”的返回值,因为它不是变量,c#,unity3d,vector,position,C#,Unity3d,Vector,Position,我正在尝试将1添加到平铺的x轴,因此,如果我稍后再次添加1,它将变为2,但是它不起作用,我得到以下错误: 无法修改“Transform.position”的返回值,因为它不是变量。您需要将完整的向量3分配给Transform.position。尝试: for (int i = 0; i < PathLength; i++) { GameObject tile = (GameObject)Instantiate(GroundTile, transform); tile.t

我正在尝试将1添加到平铺的x轴,因此,如果我稍后再次添加1,它将变为2,但是它不起作用,我得到以下错误:


无法修改“Transform.position”的返回值,因为它不是变量。

您需要将完整的向量3分配给Transform.position。尝试:

for (int i = 0; i < PathLength; i++)
{
    GameObject tile = (GameObject)Instantiate(GroundTile, transform);


    tile.transform.position.x += 1;


}

在这种情况下更容易阅读的可能是tile.transform.position+=Vector3.right;
for (int i = 0; i < PathLength; i++)
{
    GameObject tile = (GameObject)Instantiate(GroundTile, transform);


    tile.transform.position = new Vector3(tile.transform.position.x + 1, tile.transform.position.y, tile.transform.position.z);


}