unity摄像机移动滑动

之前写了一个pc版本的

        // 当按住鼠标左键的时候    
        //if (Input.GetMouseButton(0))
        //{
        //    // 获取鼠标的x和y的值,乘以速度和Time.deltaTime是因为这个可以是运动起来更平滑    
        //    float h = Input.GetAxis("Mouse X") * moveSpeed * Time.deltaTime;
        //    float v = Input.GetAxis("Mouse Y") * moveSpeed * Time.deltaTime;
        //    // 设置当前摄像机移动,y轴并不改变    
        //    // 需要摄像机按照世界坐标移动,而不是按照它自身的坐标移动,所以加上Spance.World  
        //    this.transform.Translate(v, 0, -h, Space.World);//在手机上会瞬移
        //}

但是在手机会发生瞬移,电脑没有

改写

移动端触摸版本

        //触摸个数
        if (Input.touchCount == 1)
        {
            print("按到了");
            //触摸类型为移动触摸   
            if (Input.GetTouch(0).phase == TouchPhase.Moved)
            {
                print("移动");
                //根据触摸点计算X与Y位置   
                x = Input.GetAxis("Mouse X") * moveSpeed * Time.deltaTime;
                y = Input.GetAxis("Mouse Y") * moveSpeed * Time.deltaTime;

                //按镜头距离调整位置和方向
                //var rotation = Quaternion.Euler(-(float)y, (float)x, 0);
                //transform.rotation = rotation;

                this.transform.Translate((float)y, 0, -(float)x, Space.World);//在手机上可以
            }
        }

参考资料:https://www.cnblogs.com/ADaii/p/3854390.html

posted @ 2018-02-03 14:46  三页菌  阅读(646)  评论(0编辑  收藏  举报