Unity实现2D物体拖拽效果

您所在的位置:网站首页 unity2d鼠标拖拽物体 Unity实现2D物体拖拽效果

Unity实现2D物体拖拽效果

2023-10-02 07:49| 来源: 网络整理| 查看: 265

Unity实现2D物体拖拽效果

方法1:简单粗暴,给物体上挂上一个拖拽脚本,实现OnMouseDrag()方法,上图在这里插入图片描述 方法2:给物体上挂上一个拖拽脚本,实现接口IDragHandler,上图 (经过新的测试,好像只能用于UI对象)实现接口实现接口的方法 方法3:直接上代码

void Update() { if (Input.GetMouseButtonDown(0)) { isMouseDown = true; } if (Input.GetMouseButtonUp(0)) { isMouseDown = false; lastMousePosition = Vector3.zero; isClickObj = false; } if (isMouseDown) { RaycastHit2D raycastHit2D = Physics2D.Raycast(Camera.main.ScreenToWorldPoint(Input.mousePosition), Vector2.zero, 100); Debug.Log(raycastHit2D.collider); if (raycastHit2D.collider != null) { if (raycastHit2D.collider.transform == transform) { isClickObj = true; } } if (isClickObj) { Move(); } } } private void Move() { if (lastMousePosition != Vector3.zero) { Vector3 offset = Camera.main.ScreenToWorldPoint(Input.mousePosition) - lastMousePosition; this.transform.position += offset; } lastMousePosition = Camera.main.ScreenToWorldPoint(Input.mousePosition); }

方法4:使用FingerGestures插件来实现拖拽在这里插入图片描述 注意,场景中要拖入FingerGestures手势检测预制体,物体上挂DragRecognizer和ScreenRaycaster脚本

方法5:有待添加



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3