您的位置:首页 > 移动开发 > Unity3D

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

2016-08-02 10:01 615 查看
首先用鼠标滚轮进行缩放,也就是用到了 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);

        }

当然,变量预定义,相机获取就不写出来了...
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  unity3d 地图 移动