帮我写uniry一段鼠标点击物体后触发物体根据自身坐标定向移动一段距离,然后鼠标再点击一下物体回到原来的位置
时间: 2023-03-27 09:02:42 浏览: 81
好的,我可以回答这个问题。您可以使用以下代码实现:
public class ObjectMovement : MonoBehaviour
{
private Vector3 originalPosition;
private bool isMoving = false;
private float distance = 2f; // 移动的距离
void Start()
{
originalPosition = transform.position;
}
void Update()
{
if (isMoving)
{
// 计算移动的目标位置
Vector3 targetPosition = originalPosition + transform.right * distance;
// 移动物体
transform.position = Vector3.MoveTowards(transform.position, targetPosition, Time.deltaTime * 5f);
// 如果到达目标位置,停止移动
if (transform.position == targetPosition)
{
isMoving = false;
}
}
}
void OnMouseDown()
{
if (!isMoving)
{
isMoving = true;
}
else
{
isMoving = false;
transform.position = originalPosition;
}
}
}
这段代码会让物体在鼠标点击后向右移动一定距离,再次点击后回到原来的位置。