【发布时间】:2017-10-11 02:40:25
【问题描述】:
这是我在编码方面遇到的第一个合法问题,我不知道在哪里可以找到答案。
我有一个对象需要随着时间的推移在 X 维度中移动。这是我拥有的以下代码。
Vector3 temp = transform.position;
temp.x += forwardSpeed * Time.deltaTime;
transform.position = temp;
当我调试时,我可以看到 temp.x 没有改变。但是,当我将对象移出相机区域时,X 开始改变。如果这还不够信息,请告诉我,我将提供更多代码或我需要展示的内容。感谢您的帮助。
【问题讨论】:
-
您是否查看了您尝试修改
temp.x的变量?同样假设示例已完成,则不需要复制transform.position.x += forwardSpeed * Time.deltaTime; -
当我这样做时,我得到了这个错误
Cannot modify a value type return value of 'UnityEngine.Transform.position'. Consider storing the value in a temporary variable所以我使用 temp 来更改值。
标签: c# unity3d vector position transform