我有一个向前移动的球,要使其左右移动(通过鼠标拖动),我想单击屏幕上的任意位置,而不是使用对象X轴值和鼠标初始X轴值之间的差
此脚本的问题是单击时,球快速移至“鼠标”位置,然后随鼠标移动而开始移动,因此它没有像我之前所说的那样使用差异。
private float distance;
Vector3 initialPosition;
if (Input.GetMouseButtonDown(0))
{
distance = Vector3.Distance(transform.position,Camera.main.ScreenToWorldPoint(Input.MousePosition));
initialPosition = transform.position;
}
if(Input.GetMouseButton(0))
{
if (Input.GetAxis("Mouse X") != 0)
{
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
Vector3 rayPoint = ray.GetPoint(distance);
Ball.MovePosition(new Vector3(rayPoint.x, transform.position.y, transform.position.z));
}
}