新建存储了物品的Image列表。
OnBeginDrag函数在开始拖动时调用,设置显示优先级以及记录起点位置。
canvasGroup.blocksRaycasts = false;//让event trigger忽略自身,这样才可以让event trigger检测到它下面一层的对象,如包裹或物品格子等
lastEnter = eventData.pointerEnter;
lastEnterNormalColor = lastEnter.GetComponent().color;
originalPosition = myTransform.position;//拖拽前记录起始位置
gameObject.transform.SetAsLastSibling();//保证当前操作的对象能够优先渲染,即不会被其它对象遮挡住
OnDrag函数实现了Image对象的拖拽效果。
public void OnDrag(PointerEventData eventData)
{
Vector3 globalMousePos;
if (RectTransformUtility.ScreenPointToWorldPointInRectangle(myRectTransform, eventData.position, eventData.pressEventCamera, out globalMousePos))
{
myRectTransform.position = globalMousePos;
}
GameObject curEnter = eventData.pointerEnter;
bool inItem