【发布时间】:2015-09-30 22:17:09
【问题描述】:
if (Input.GetKeyDown(KeyCode.LeftArrow))
{
transform.Translate(-Vector3.right * distance);
}
else if (Input.GetKeyDown(KeyCode.RightArrow))
{
transform.Translate(Vector3.right * distance);
}
希望这样,当按下左/右箭头键时,玩家向左/向右移动,但角度为 45 度。有什么方法可以使用带有 x 和 y 坐标的 transform.translate,而不是 Vector3.right?谢谢
【问题讨论】:
-
你不能先旋转,然后平移,然后再旋转回来吗?
-
可能,只是想知道是否有办法使用 x 和 y 代替 Vector2.right,因为这样会更容易
-
它不是
unity,请阅读标签 -
我想你可以像
transform.Translate((-Vector3.right + Vector3.up).Normalize() * distance);一样将向量加在一起