using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;
public class testfordrag : MonoBehaviour,IDragHandler,IPointerDownHandler,IPointerUpHandler,IEndDragHandler{
public RectTransform canvas;
private RectTransform textRect;
Vector2 offset = new Vector2 ();
void Start(){
textRect = GetComponent<RectTransform> ();
}
public void OnPointerDown(PointerEventData eventData){
Vector2 mouseDown = eventData.position;
Vector2 mouseUguiPos = new Vector2 ();
bool isRect = RectTransformUtility.ScreenPointToLocalPointInRectangle (canvas, mouseDown, eventData.enterEventCamera, out mouseUguiPos);
if (isRect) {
offset = textRect.anchoredPosition - mouseUguiPos;
}
}
public void OnDrag(PointerEventData eventData)
{
Vector2 mouseDrag = eventData.position;
Vector2 uguiPos = new Vector2 ();
bool isRect = RectTransformUtility.ScreenPointToLocalPointInRectangle (canvas, mouseDrag, eventData.enterEventCamera, out uguiPos);
if (isRect) {
textRect.anchoredPosition = offset + uguiPos;
}
}
public void OnPointerUp(PointerEventData eventData)
{
offset = Vector2.zero;
}
public void OnEndDrag(PointerEventData eventData)
{
offset = Vector2.zero;
}
void Update(){
GetComponent<Text> ().text = GetComponentInParent<fighter> ().ShowCard ();
}
}
ugui拖拽
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 在本文,你将学会如何使用一句话代码实现UGUI图片的拖动,不需要坐标的转换,不需要Piovt的变换 效果演示: 代...
- W3C中关于H5拖拽(拖放)的介绍 拖放(Drag 和 drop)是 HTML5 标准的组成部分拖放是一种常见的特...