如何在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);
答案 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()
方法中。