鼠标的拖动实现物体的上下左右移动

本文介绍了一种使用Unity实现鼠标拖动控制物体绕特定轴旋转的方法。通过获取鼠标输入,结合物体当前旋转角度,实现平滑且有约束的旋转效果。代码中详细展示了如何在Update()函数中响应鼠标事件,并通过限制旋转范围确保物体不会超出预设的角度界限。

private GameObject center;
private float rotateSpeed = 40f;

private float rotateZ = 0;
private float minR = -15f;
private float maxR = 15f;
private float sensitity = 50f;

void Start()
{
  //获取物体
  center = GameObject.Find("center");
}

//鼠标拖动事件写在Update()中
if (Input.GetMouseButton(0))
{
  float rotateY = center.transform.localEulerAngles.y - Time.deltaTime * sensitity*Input.GetAxis("Mouse X");
  if (rotateY>=0&&rotateY<=180)
  {
    rotateZ += Time.deltaTime * sensitity * Input.GetAxis("Mouse Y");
  }
  else
  {
    rotateZ -= Time.deltaTime * sensitity * Input.GetAxis("Mouse Y");
  }
  //控制上下移动的范围(限制)
  rotateZ = Mathf.Clamp(rotateZ, minR, maxR);
  center.transform.eulerAngles = new Vector3(0, rotateY, rotateZ);  

}

转载于:https://www.cnblogs.com/Study088/p/7126898.html

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值