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?感谢
答案 0 :(得分:1)
当然,任何标准化向量都是一个方向向量,你不仅限于右,向上,向前。
Vector3 direction = new Vector3(1f, 1f, 0f).normalized;
if (Input.GetKeyDown(KeyCode.LeftArrow))
transform.Translate(direction * distance);
else if (Input.GetKeyDown(KeyCode.RightArrow))
transform.Translate(direction * distance);