PC端

using UnityEngine;
using System.Collections; public class DragRound : MonoBehaviour { public Transform obj;
public float speed = ; private bool _mouseDown = false; void Update ()
{
if (Input.GetMouseButtonDown())
_mouseDown = true;
else if (Input.GetMouseButtonUp())
_mouseDown = false; if (_mouseDown)
{
float fMouseX = Input.GetAxis("Mouse X");
float fMouseY = Input.GetAxis("Mouse Y");
obj.Rotate(Vector3.up, -fMouseX * speed, Space.World);
obj.Rotate(Vector3.right, fMouseY * speed, Space.World);
}
}
}

移动端:

using UnityEngine;
using System.Collections; public class DragRoundPhone : MonoBehaviour { private Vector3 startFingerPos;
private Vector3 nowFingerPos;
private float xMoveDistance;
private float yMoveDistance;
private int backValue = ;
public GameObject obj;
void Update()
{
if (Input.touchCount <= )
{
return;
} if (Input.GetTouch().phase == TouchPhase.Began)
{
//Debug.Log("======开始触摸=====");
startFingerPos = Input.GetTouch().position;
} nowFingerPos = Input.GetTouch().position; if ((Input.GetTouch().phase == TouchPhase.Stationary) || (Input.GetTouch().phase == TouchPhase.Ended))
{
startFingerPos = nowFingerPos;
//Debug.Log("======释放触摸=====");
return;
}
// if (Input.GetTouch(0).phase == TouchPhase.Ended) {
//
// }
if (startFingerPos == nowFingerPos)
{
return;
}
xMoveDistance = Mathf.Abs(nowFingerPos.x - startFingerPos.x);
yMoveDistance = Mathf.Abs(nowFingerPos.y - startFingerPos.y); if (xMoveDistance > yMoveDistance)
{
if (nowFingerPos.x - startFingerPos.x > )
{
//Debug.Log("=======沿着X轴负方向移动=====");
backValue = -; //沿着X轴负方向移动
}
else
{
//Debug.Log("=======沿着X轴正方向移动=====");
backValue = ; //沿着X轴正方向移动
}
}
else
{
if (nowFingerPos.y - startFingerPos.y > )
{
//Debug.Log("=======沿着Y轴正方向移动=====");
backValue = ; //沿着Y轴正方向移动
}
else
{
//Debug.Log("=======沿着Y轴负方向移动=====");
backValue = -; //沿着Y轴负方向移动
} }
if (backValue == -)
{
obj.transform.Rotate(Vector3.up * - * Time.deltaTime * , Space.World);
}
else if (backValue == )
{
obj.transform.Rotate(Vector3.up * Time.deltaTime * , Space.World);
}
else if (backValue == )
{
obj.transform.Rotate(Vector3.right * Time.deltaTime * , Space.World);
}
else if (backValue == -)
{
obj.transform.Rotate(Vector3.right * - * Time.deltaTime * , Space.World);
} }
}

Unity 鼠标旋转物体360展示的更多相关文章

  1. unity鼠标拖动物体旋转

    using System.Collections; using System.Collections.Generic; using UnityEngine; /// <summary> / ...

  2. 【three.js第三课】鼠标事件,移动、旋转物体

    1.下载three.js的源码包后,文件夹结构如下: 2.在[three.js第一课]的代码基础上,引入OrbitControls.js文件,此文件主要用于 对鼠标的操作. 该文件位置:在文件结构中 ...

  3. 关于Unity中鼠标选取物体的解决方案

    今天修改了之前写的飞机大战的代码,原来的不足之处是点击屏幕的任意一点都可以移动飞机,也就是没有检测鼠标到底有没有点到飞机上. 我先是用之前的3D拾取技术,发现没有反应,才意识到我这个plane飞机节点 ...

  4. unity的旋转

    绕着一个点旋转 : transform.RotateAround(Vector3.zero, Vector3.up, speed* Time.deltaTime ); 第一个参数,点的位置.第二个参数 ...

  5. 通过CSS3实现:鼠标悬停图片360度旋转效果

    效果很好玩,代码很简单: 效果: 鼠标放置在图片上:360度顺时针旋转 鼠标离开图片:图片260度逆时针旋转 只要将下面代码拷贝过去,并将图片改成你想要的就可以看到效果 <!doctype ht ...

  6. Unity 3d 实现物体跟随摄像机视野运动

    https://blog.csdn.net/qq_31411825/article/details/61623857 Unity 3d 实现物体跟随摄像机视野运动Created by miccall ...

  7. Unity 鼠标控制视角功能和动画播放冲突解决办法

    环境是 unity 5.6.4 情况说明: 1 模型动画单独播放是没问题的. 2 鼠标控制模型是没问题的. 3 在start中播放模型动画,即使鼠标控制视角代码还挂载着,但是模型却无法用鼠标旋转等操作 ...

  8. 鼠标划过用户名时在鼠标右下角显示div展示用户资料

    最近做一个网站论坛,为了方便会员之间相互了解,又不想再做一个页面展示用户资料,就想到了鼠标划过用户名时在鼠标右下角显示div展示用户资料这个效果, 这里要注意的该方法不是给每个用户名的旁边都绑定一个d ...

  9. canvas实现跟随鼠标旋转的箭头

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <meta ht ...

随机推荐

  1. jQuery里ready方法用原生js实现原理

    function ready(fn){ if(document.addEventListener){ //标准浏览器 document.addEventListener('DOMContentLoad ...

  2. js的6道基础题(笔试常考题)

    转载:http://www.bubuko.com/infodetail-20477.html 题目一:找出数字数组中最大的元素   var arr=[0,1,2,3,4,5,6,7,8,9];   c ...

  3. springboot之json传参(后台控制层如何接收和解析参数)

    一般web端都是用form标签的形式进行表单提交到后台,后台控制层再用相应的实体对象去接收前端传来的json参数. 但是有时候前端界面很复杂,要传入后端的参数是各种标签里面的value值,这些值又是来 ...

  4. dgango 反射

    相关 """ 反射 由字符串反向找 变量.函数.类 """ import sys class Person(object): def __i ...

  5. Django | mysql修改个别表后save()报错

    报错内容: elasticsearch.exceptions.ConnectionError: ConnectionError(<urllib3.connection.HTTPConnectio ...

  6. 3 种比较 cmp

    结构体中的比较 struct dian{ int l,r; bool operator <(const dian &t)const { if(r==t.r) return l>t. ...

  7. unity命令行参数

    Typically, Unity will be launched by double-clicking its icon from the desktop but it is also possib ...

  8. 第三十九篇 入门机器学习——Numpy.array的基础操作——合并与分割向量和矩阵

    No.1. 初始化状态 No.2. 合并多个向量为一个向量 No.3. 合并多个矩阵为一个矩阵 No.4. 借助vstack和hstack实现矩阵与向量的快速合并.或多个矩阵快速合并 No.5. 分割 ...

  9. MySQL中int(11)的意思

    参考文献:https://segmentfault.com/a/1190000012479448 int(11)中的11代表的是字符的显示宽度,在字段类型为int时,无论你显示宽度设置为多少,int类 ...

  10. js替换所有匹配字符

    js没有replaceAll,所以用正则表达式查找所有匹配项("g"), .replace(new RegExp("\\.", "g"), ...