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 @   三页菌  阅读(741)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示