unity为什么不能直接对transform.position.x/y/z进行修改以及正确写法分析

首先我们查看position定义(光标position下alt+F12)可以看到以下几点
1.position是vector3向量下的一个属性。
2.vector向量是结构体 ,结构体是值类型.

好的现在来说为什么不能这么写

transform.position.x=10;//error

首先通过点1 我们知道position是一个属性
当我们访问position时 通过get容器 返回了一个自动封装的不知道名字的字段。(自动属性随机初始化一个字段用来存储数据)
因为position是vector类型的,通过点2我们也知道了向量是结构体Struct,所以position是vector类型的属性,所以得到结论 :向量是值类型;

所以通过get容器 返回的是一个 position=x; x这个值;
值是不允许引用成员的。所以说
transform.position.x=10;是错的。
正确写法如下

作者:Miracle
来源:麦瑞克博客
链接:https://www.unitymake.com/archives/unity/unity_technologyshare/581
本博客所有文章除特别声明外,均采用CC BY-NC-SA 4.0许可协议,转载请注明!
THE END
分享
打赏
海报
unity为什么不能直接对transform.position.x/y/z进行修改以及正确写法分析
首先我们查看position定义(光标position下alt+F12)可以看到以下几点1.position是vector3向量下的一个属性。2.vector向量是结构体 ,结构体是值类型. ……
<<上一篇
下一篇>>
文章目录
关闭
目 录