一:前言
Unity中不允许对transform.position.x直接赋值,之前认为transform.position.x是只读的所以不能直接赋值,其实并不是这个原因
二:解释
定位到Vector3类中,发现并没有对x、y、z进行读写限制
再定位到Transform类中,发现position是一个Vector3类型的属性,而Vector3是一个结构体,正因为position是一个结构体且是一个属性
也就是说当我们transform.position.x = 1时调用属性的Get方法得到position,属性的get、set本质上也是一个方法,通过方法获取到的值类型