X += Input.GetAxis("Mouse X") / speed; //speed物体移动速度减慢
Y += Input.GetAxis("Mouse Y") / speed;
transform.position = new Vector3(X, Y, 0);
if (!bo_one) //获取第一帧位置
{
vec3 = this.transform.position;
bo_one = true;
bo_two = true;
}
if (bo_two)
{
if (vec3 != this.transform.position) //判断和第一帧位置不同
{
Vector2 v2 = this.transform.position - vec3; //计算第一帧位置到第二帧位置的向量
angle = Vector2.Angle(v2, transform.up); //计算旋转角度
transform.rotation = Quaternion.Euler(0, 0, -angle); //在网上查到的一种旋转方法
bo_two = false;
bo_one = false;
}
}
你可以设置一个空物体target,让角色lookat target,当你鼠标按下、移动时,target的位置与鼠标位置保持一致。