using UnityEngine;
using System.Collections;
using UnityEditor;public class PressHold2Drag : MonoBehaviour
{RaycastHit hit;Ray ray;bool isDrag;         //是否拖拽GameObject target;         //移动目标Vector3 offset;         //偏移量void Update(){//通过鼠标点击的位置生成射线ray = Camera.main.ScreenPointToRay(Input.mousePosition);if (Input.GetMouseButton(0)){Vector3 mousePos = Input.mousePosition;if (!isDrag){//碰撞检测if (Physics.Raycast(ray, out hit)){//绘制射线,方便观察Debug.DrawLine(ray.origin, hit.point, Color.red, 5f);target = hit.collider.gameObject;//将射线碰撞到的物体从世界坐标转为屏幕坐标Vector3 screenTarget = Camera.main.WorldToScreenPoint(target.transform.position);mousePos.z = screenTarget.z;//计算点击位置和目标的偏移量offset = target.transform.position - Camera.main.ScreenToWorldPoint(mousePos);isDrag = true;}}else{Vector3 screenTarget = Camera.main.WorldToScreenPoint(target.transform.position);mousePos.z = screenTarget.z;//将mousePos从屏幕坐标转为世界坐标 + 偏移量 = 要移动的物体坐标target.transform.position = Camera.main.ScreenToWorldPoint(mousePos) + offset;}}else{isDrag = false;}//UGUI中的拖拽//transform.GetComponent<RectTransform>().position = Input.mousePosition;}
}

点击物体并跟随鼠标移动相关推荐

  1. 【Unity】OnTriggerStay2D无法触发问题,物体跟随鼠标等背包系统以及UI场景交互系统技术总结

    背包系统以及交互 交互实现 技术总结 OnTriggerStay2D无法碰撞 检测跟随鼠标移动 跟着麦扣老师学习的背包系统之后,因为参加GameJam后现在码了背包和场景交互,但是都有些bug,最近重 ...

  2. 网页特效之点击跟随鼠标

    效果:点击网页上随机一个点,图片中心移动到该点 思路:使用onclick事件,对于鼠标在页面点击的点,通过clientX/clientY和offsetWidth/offssetHeight属性得到坐标 ...

  3. CocosCreator2.4 物体跟随鼠标或触摸点

    CocosCreator2.4 物体跟随鼠标或触摸点 前言 效果 注意事项 源码 前言 项目需求鼠标点击要有效果,移动要跟随,但是看了文档发现坐标系转换会有问题,于是记录下. 效果 注意事项 使用cc ...

  4. threejs中坐标系转换和实现物体跟随鼠标移动

    坐标系转换 下面函数可以将鼠标所在点的屏幕坐标转化成一个Threejs三维坐标: convertTo3DCoordinate(clientX,clientY){var mv = new THREE.V ...

  5. 实现div在固定区域跟随鼠标移动点击拖动而产生的变化

    一.思路 1.在外层增加一个 DIV 容器,并设置好容器的大小.(即:宽和高) 当容器存在边框的时候,由于这里还没找到获取的方法,所以,在容器边框大于 0 的时候,获得的容器的限制区域的坐标会有误差. ...

  6. python物体跟着鼠标走_用Python写一个跟随鼠标运动的自定义窗口

    背景:因为项目需要,要开发一个在PC上运行的应用程序,生成一个跟随鼠标运动的窗口,并且监听鼠标的点击事件,并在窗口上做相应的显示. 平台:Win7 64位 + Python27 64位 支持库:PyH ...

  7. Unity让物体跟随鼠标移动

    前言 最近在学习Unity,记录下学习的成果吧.本文最终结果是要实现一个小飞机跟随鼠标移动的效果.看下图片. 向量 在Unity中,每个对象都有自己的位置属性,组件叫做Transform,通过Tran ...

  8. Unity协程实现场景中鼠标按住的物体跟随鼠标移动

    Unity协程实现场景中的鼠标按住物体跟随鼠标移动 void Awake() { StartCoroutine(OnMouseDown() as IEnumerator); } IEnumerator ...

  9. unity实现UI线条一端固定另一端跟随鼠标点击位置并实时拉长或缩短

    unity实现UI线条一端固定另一端跟随鼠标点击位置并实时拉长或缩短 using UnityEngine; public class Dzcontroller : MonoBehaviour {boo ...

最新文章

  1. CentOS7安装Composer
  2. 图表2------沪深300指数图+收盘价的EMD分量图+PCA后的特征累计贡献率表+预测模型评估指标公式表
  3. void addColumn(TableColumn aColumn)
  4. python一千行入门代码-Python – 一次从文件中读取1000行
  5. maven shade
  6. ARPG手游性能分析报告:加载、GC、内存需重点关注
  7. sql 数组_sql注入中级
  8. Python 执行代码的两种方式
  9. 在struts2中push方法的使用_电脑使用中怎么截屏的几种方法
  10. 二维码的生成(可设置大小)以及插件下载地址
  11. 精通Python网络爬虫:核心技术、框架与项目实战.3.2 爬行策略
  12. 跟着百度学PHP[3]-PHP中结构嵌套之循环结构与条件结构嵌套
  13. CSS font-family常见中文字体对应的英文名称
  14. u盘装杀毒软件给计算机杀毒,安装在U盘的杀毒软件时刻护卫U盘文件安全
  15. 2019年淘宝新开店铺怎么提升销量
  16. Java常见面试题:重写和重载的区别详解
  17. java类定义格式_java定义类的格式是什么
  18. 12、ABPZero系列教程之拼多多卖家工具 拼团提醒功能登录拼多多实现
  19. 华为校园编码达人秀(第二季) 查找家谱
  20. 前列腺穿刺活检技术发展

热门文章

  1. WPS OFFICE关闭热点和广告推送
  2. 树莓派3配置局域网打印服务器惠普打印机HP1108
  3. 为项目加入第三方字体DS-Digital,并使用
  4. 耿建超英语语法---非谓语动词作宾语与表语
  5. 继 QQ 被曝扫描浏览器历史记录之后,微信也被曝出会扫描所有 Chromium cookies
  6. 面试题:MySQL优化
  7. Mysql学习-group by with rollup 函数 和order by field()自定义排序函数
  8. 嵌入式(十四)——Makefile编写及多级目录
  9. 趋高智能机器开发工业相机ccd视觉检测系统定制软件硬件
  10. 室外定位:高精度北斗RTK定位技术