【untiy】拖拽物体旋转,松开复位。
直接保存一下代码= =
//拖拽旋转private void DragModel(){
#if UNITY_EDITOR ||UNITY_STANDALONEif (Input.GetMouseButtonDown(0)){m_beginVec = Input.mousePosition;if (EventSystem.current.IsPointerOverGameObject()){m_ClickOnUI = true;return;}}if (Input.GetMouseButton(0)){if (m_ClickOnUI || IsEdu)return;m_ToDefaultRot = false;m_dragVec = Input.mousePosition;if (Mathf.Abs(m_dragVec.x - m_beginVec.x) < 10)return;float tmpSpeed = m_dragVec.x - m_beginVec.x > 0 ? -m_dragSpeed : m_dragSpeed;m_RotationTrans.Rotate(Vector3.up, tmpSpeed, Space.World);m_beginVec = Input.mousePosition;}if (Input.GetMouseButtonUp(0)){m_ToDefaultRot = true;m_ClickOnUI = false;}#elseif (Input.touchCount != 0){if (Input.touches[0].phase == TouchPhase.Began){m_beginVec = Input.touches[0].position;if (EventSystem.current.IsPointerOverGameObject(Input.GetTouch(0).fingerId)){m_ClickOnUI = true; return;}}if (Input.touches[0].phase == TouchPhase.Moved){if (m_ClickOnUI||IsEdu)return; m_ToDefaultRot = false;m_dragVec = Input.touches[0].position;float tmpSpeed = m_dragVec.x - m_beginVec.x > 0 ? -m_dragSpeed : m_dragSpeed;m_RotationTrans.Rotate(Vector3.up, tmpSpeed, Space.World);m_beginVec = Input.touches[0].position;}if (Input.touches[0].phase == TouchPhase.Ended){m_ToDefaultRot = true;m_ClickOnUI = false;}}
#endif}//松开复位private void Update(){if (CanDrag)DragModel();if (m_ToDefaultRot){m_RotationTrans.localRotation = Quaternion.Lerp(m_RotationTrans.localRotation, m_defaultRot, Time.deltaTime * m_dragSpeed);}}
【untiy】拖拽物体旋转,松开复位。相关推荐
- Unity触摸屏幕 拖拽物体 旋转物体 放大缩小物体 单击 双击 长按
Unity触摸屏幕 拖拽物体 旋转物体 放大缩小物体 单击 双击 长按 拖拽物体 using System.Collections; using System.Collections.Generic; ...
- iOS学习笔记-068.手势识别02——捏合、拖拽、旋转手势
手势识别02捏合拖拽旋转手势 一捏合手势 1 UIPinchGestureRecognizerh 2 代码示例 3 图示 二拖拽手势 1 UIPanGestureRecognizerh 2 代码示例 ...
- TriggerPrefab 拖拽物体
模拟经营类游戏 有一个特点,就是 拖拽物体.常见的有<帝国><红警><部落战争><凯撒大帝>等等 2d 拖拽 大部分都是 用 OnDrag 方法来 拖动 ...
- OpenGL实现在三维空间拖拽物体
最近本来想用OpenGL实现一个三维形变平台,但是没想到在鼠标交互这里就遇到了麻烦.OpenGL中并没有很实用的能够处理鼠标拖拽3D物体的办法,而我又不想导入外部的交互框架把程序搞得很冗杂.害,那咋办 ...
- unity2d里实现鼠标拖拽物体的功能
在 Unity 中实现鼠标拖拽物体的功能需要使用到 Unity 的 Physics 系统. 要实现鼠标拖拽物体,你需要在场景中添加以下内容: 一个 Rigidbody 2D 组件,用于控制物体的运动. ...
- 3dmax java_Java3D读取3DMax模型并实现鼠标拖拽、旋转、滚轮缩放等功能
/**-------------------------------------------------代码区--------------------------------------------- ...
- hammer.js移动端拖拽缩放旋转元素
第一步 下载hammer.js并引入 下载地址可以是:http://hammerjs.github.io/ 第二步 复制下面这些代码,放在你的js里面 function drag(drag){var ...
- Unity鼠标控制摄像机拖拽、旋转、缩放(模拟编辑器摄像机功能)
网上有不少类似内容了,不过有些不全面,甚至有有残缺,少了上下文,导致复制代码以后报错,笔者很讨厌这种太监代码!! 话说真传一句话,假传万卷书,代码全文如下:复制到自己脚本中,挂到摄像机上即可运行 us ...
- openlayers拖拽、旋转、缩放、拉伸变形 (十二)
gis应用中拖动旋转和缩放是编辑中比较常见的功能,在openlayers中拖拽可以通过ol.interaction.Translate来实现,但是其他功能没有,所以要用的openlayers的一个扩展 ...
- unity3d 鼠标延各个方向拖拽物体
using UnityEngine; using System.Collections;//选择轴向 public enum directionEnum{x_dir,y_dir,z_dir, } pu ...
最新文章
- Android架构篇-5 CI/CD(持续集成、持续交付、持续部署)
- 谷歌年度AI技术总结来了!Jeff Dean执笔,附赠27个开源工具和数据大礼包
- iOS开展——全球应对MotionEvent
- Redis-08Redis数据结构--基数HyperLogLog
- react实现上传文件进度条功能_React.js 可拖放文件的上传表单(支持多文件和进度显示)...
- 作者:季统凯,男,博士,中国科学院云计算中心主任、研究员,国云科技股份有限公司董事长,中国云计算专家委员会委员。...
- 数据访问基础类(基于Access数据库)
- LeetCode--042--接雨水(java版)
- java 无领导小组面试,无领导小组讨论面试前的准备不包括:( )
- java贪吃蛇设计答辩PPT_基于Java的贪吃蛇游戏答辩.ppt
- 服务器上的360不显示网速慢,服务器网速慢怎么解决
- 服务器清理文件,裸金属服务器清理文件
- ux设计_UX评论模式品牌知道规则并且也打破了规则
- 国庆星期日 1949年的国庆节(10月1日)是星期六。 今年(2012)的国庆节是星期一。
- Jquery 模糊匹配ID
- 在醒目的底子上踏实肯干
- 无聊与兴奋 《幸福之路》读书笔记
- python 两个一样的字符串用==结果为false
- mysql分组取出每组地一条数据_MYSQL实现分组排序并取组内第一条数据
- 为Dynamics 365 USD设置打开调试面板的自定义快捷键