鼠标控制地图的平滑移动和缩放

首先用鼠标滚轮进行缩放,也就是用到了 Input.GetAxis("Mouse ScrollWheel")这个值来判断放大或是缩小。

然后通过上面的值设置Camera的orthographicSize(正交camera)来缩放相机的显示范围。

newSize -= Input.GetAxis("Mouse ScrollWheel") * SizeSpeed;

        //限制了最小与最大缩放
        if (newSize < 0 )
        {
            newSize = MinSize;
        }
        if (newSize > 5)
        {
            newSize = MaxSize;
        }
        MainCam.orthographicSize = Mathf.Lerp(MainCam.orthographicSize, newSize, Time.deltaTime * SizeSmooth);


相机的平滑移动如下:

  float newMoveSpeed = MoveSpeed * MainCam.orthographicSize / 10.0f;
        if (Input.GetMouseButton(2))
        {
            transform.Translate(Vector3.left * Input.GetAxis("Mouse X") * newMoveSpeed);
            transform.Translate(Vector3.down * Input.GetAxis("Mouse Y") * newMoveSpeed);
        }

当然,变量预定义,相机获取就不写出来了...

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值