拿一张图片剪切好备用
在Canvas下新建panel作为父物体
在下面建一个Image名为——Cell
在Cell下新建image,改Tag为Cell
在这个image上挂脚本:
using UnityEngine; using System.Collections; using UnityEngine.EventSystems; public class DragOnPic : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDragHandler { //记录下自己的父物体. Transform myParent; //Panel,使拖拽是显示在最上方. Transform tempParent; CanvasGroup cg; RectTransform rt; //记录鼠标位置. Vector3 newPosition; void Awake() { //添加CanvasGroup组件用于在拖拽是忽略自己,从而检测到被交换的图片. cg = this.gameObject.AddComponent<CanvasGroup>(); rt = this.GetComponent<RectTransform>(); tempParent = GameObject.Find("Canvas").transform; } /// <summary> /// Raises the begin drag event. /// </summary> public void OnBeginDrag(PointerEventData eventData) { //拖拽开始时记下自己的父物体. myParent = transform.parent; //拖拽开始时禁用检测. cg.blocksRaycasts = false;