u3d UGUI 拖动图片
来源:互联网 发布:安卓lua 虚拟按键源码 编辑:程序博客网 时间:2024/06/05 01:43
在使用uGUI制作图片的拖动,或者说是其他控件的拖动,
分为两部分,需写两个脚本分别给相应的控件.
一:被拖动的控件.
二 :被拖动的物体到其他控件上面
-------------------------------------------------------------
一.被拖动的控件 的c#脚本 需实现 IBeginDragHandler, IDragHandler, IEndDragHandler 这三个 接口
这三个接口分别对应了三个方法:
public void OnBeginDrag(PointerEventData eventData) // 点击鼠标 按住不放 拖动开始
public void OnDrag(PointerEventData data) //拖动中,不断执行,直到鼠标鼠标抬起来 <再次方法里头实现物体跟随鼠标移动即可>
附上 鼠标移动跟随鼠标移动代码
var rt = m_DraggingPlane; Vector3 globalMousePos; if (RectTransformUtility.ScreenPointToWorldPointInRectangle(m_DraggingPlane, data.position, data.pressEventCamera, out globalMousePos)) { rt.position = globalMousePos; rt.rotation = m_DraggingPlane.rotation; }
public void OnEndDrag(PointerEventData eventData) // 拖动完毕,就是抬下鼠标后执行..
二 :被拖动的物体碰到其他的物体 接受被碰撞事件
这里依旧使用c#脚本 实现IDropHandler, IPointerEnterHandler, IPointerExitHandler 这三个接口即可.
三个接口分别对应三个方法
public void OnDrop(PointerEventData eventData) { Debug.Log("OnDrop"); // 在 上面松开鼠标 } public void OnPointerEnter(PointerEventData eventData) { Debug.Log("OnPointerEnter"); // 鼠标进入 // 将拖动的图片赋值给碰到的控件 var t=eventData.pointerDrag;//t类似gameobject Image img= t.GetComponent<Image>(); GetComponent<Image>().sprite = img.sprite; } public void OnPointerExit(PointerEventData eventData) { Debug.Log("OnPointerExit"); //鼠标离开 }
1 0
- u3d UGUI 拖动图片
- unity3d ugui 图片点击与拖动同存互不影响
- U3D UGUI学习2 - RectTransform
- U3D UGUI学习3 - Text
- U3D UGUI学习2 - RectTransform
- U3D -- UGUI的锚点
- 第一个u3d程序,hello world(UGUI)
- UGUI——拖动UI
- 【UGUI】UGUI 拖拽图片
- u3d 动态加载图片
- U3D增加图片
- U3D判断触摸拖动的方向
- 可拖动FPS显示框(UGUI)
- Unity UGUI点击、拖动等事件
- UGUI 加载图片
- UGUI 图片查看器
- ugui Sprite更换图片
- Unity UGUI 图片模糊
- Java 主线程等待子线程执行完再执行
- Android沉浸式状态栏
- C语言学习历程——编程练习2——06
- 八大排序算法
- BitBucket介绍以及基础使用
- u3d UGUI 拖动图片
- centos7 安装相应版本的mysql5.7
- JavaScript 内存泄漏教程
- http://blog.csdn.net/liyx2018/article/details/51383072
- 理解dropout
- Java(二) 三大特性和优点
- 第三章 JSX语法
- 翻转设计模式系列——第一部分--面向对象基础知识(1)--概览
- Canvas应用小结