使用键盘更改C#中的位移?

时间:2018-09-27 03:00:11

标签: c# unity3d

如何在C#中统一按下键盘来更改gameObject的位移?我尝试使用此方法,但没有任何反应:

if (Input.GetKey(KeyCode.W))
   platform[i, j].transform.position = 
       new Vector3(platform[i, j].transform.position.x, 
                   y *= y,
                   platform[i, j].transform.position.z);

2 个答案:

答案 0 :(得分:0)

您的代码看起来还不错,但是,如果您的“ y”为1或0,则y * = y将无法仅将游戏对象移动到Y轴。

答案 1 :(得分:0)

在转换中使用Translate方法:

if (Input.GetKey(KeyCode.W))
    platform[i, j].transform.Translate(0,1,0);

此样本将使对象快速向上移动。如果要向前移动,可以使用platform[i, j].transform.forward作为向量。

请参阅Translate上的文档。还要注意relativeTo参数。对于本地空间与世界空间运动很有用。还要注意样本中deltaTime的用法。

还请注意@csblo的注释,以将该代码放入Update()方法中。