transform.Translate在Unity中无法正常工作

时间:2013-05-01 05:09:01

标签: unity3d unityscript

我正在开发一款我想要无限远的游戏,所以我创造了40个道路实例,我想一次又一次地重复。

我正在编写以下代码来改变现在在相机中不可见的道路位置,并且可以重复

roadPaths[currentRoad].transform.Translate(Vector3(0,0,startPositionValue)); 

但我得到以下日志

Log

在上面的日志中,您可以看到startPositionValue为42时,currentRoad位置变为43.同样的问题也与其他值有关。

帮助将受到高度赞赏。

3 个答案:

答案 0 :(得分:1)

最后,我能够解决问题。

以下代码工作

roadPaths[currentRoad].transform.position=Vector3(0,0,startPositionValue);

答案 1 :(得分:1)

翻译是GameObject在三维空间中的相对移动。它通过相对值将其从当前位置转换为与原始位置偏移的新位置。

显式设置GameObject的Transform的位置向量会将其设置为世界范围内的绝对位置。

答案 2 :(得分:-1)

我觉得这很简单:

transform.Translate(X, Y, Z);

例如:

transform.Translate(5 * Time.deltaTime, 0, 0);
//GameObject moves smooth at the positive direction of the X position