unity3d 简单拖拽交换对象,类似背包物品交换功能

直接挂载到需要拖拽的每个对象上就可以了

图片.png
using UnityEngine;
using System.Collections;
using UnityEngine.EventSystems;
using UnityEngine.UI;

public class OnTestDrag : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDragHandler
{
    private Vector3 beginPos;
    private Image image;
    void Start()
    {
        beginPos = transform.position;
        image = transform.GetComponent<Image>();
    }
    public void OnBeginDrag(PointerEventData eventData)
    {
        image.raycastTarget = false;
        beginPos = transform.position;
        transform.SetAsLastSibling();
   }

    public void OnDrag(PointerEventData eventData)
    {
        transform.position = Input.mousePosition;
        transform.localScale = new Vector3(0.8f, 0.8f, 0.8f);
        OnTestDrag drag = eventData.pointerEnter.GetComponent<OnTestDrag>();
        if (drag != null && drag.transform != transform)
        {
            transform.localScale = new Vector3(0.5f, 0.5f, 0.5f);
        }
    }

    public void OnEndDrag(PointerEventData eventData)
    {
        OnTestDrag drag = eventData.pointerEnter.GetComponent<OnTestDrag>();
        if (drag != null && drag.transform != transform)
        {
            Vector3 pos = drag.transform.position;
            drag.transform.position = beginPos;
            transform.position = pos;
            transform.localScale = Vector3.one;
        }
        else
        {
            transform.position = beginPos;
            transform.localScale = Vector3.one;

        }
        image.raycastTarget = true;
    }

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,738评论 25 709
  • 毕业这几年,参加了很多朋友的婚礼, 看到每一对走到婚姻殿堂的恋人都经历了很多,有欢笑,有泪水,有心酸,吵架更是家常...
    吖爆2016阅读 3,950评论 0 0
  • 连续几日的阴雨心情,使我明白了一个道理,心态是一切的根源。 负能量萦绕心头的时候,心是沉重的,心是凝重的。没有做任...
    怀瑾姑娘阅读 4,044评论 1 2
  • 案例背景:2014年12月12日的报道,澳大利亚墨尔本摄影师彼得.里克创造了摄影史上的历史,他拍摄了一幅黑白照片,...
    小白是一种状态阅读 2,849评论 0 0
  • 文/星杳 我的生活放纵的像一条狗 或是在艳阳天萎靡的奄奄一息 或是在深夜的寂静中狂吠 不安现状却又困于现状 我的人...
    星杳阅读 3,060评论 3 4