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