我有一个带有Grid Layout Group
组件的Panel。在里面我得到了一个带有背景图像的插槽面板,在里面我得到了2个图像的预制件。它看起来像这样:
我写了一个在
TankPrefab
中找到的拖放脚本:
public class DragHandler : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDragHandler {
public static GameObject itemBeingDragged;
Vector3 startPosition;
public void OnBeginDrag(PointerEventData eventData)
{
itemBeingDragged = gameObject;
startPosition = transform.position;
}
public void OnDrag(PointerEventData eventData)
{
transform.position = Input.mousePosition;
}
public void OnEndDrag(PointerEventData eventData)
{
itemBeingDragged = null;
transform.position = startPosition;
}
}
当我将坦克拖到坦克插槽后找到的插槽上时,我遇到了问题。它把坦克拉到他身后:
我在
transform.SetAsLastSibling();
中尝试OnBeginDrag
,但它只是将其移动到父级(插槽)的第一个,我希望它高于其他插槽,所以我也尝试transform.parent.SetAsLastSibling();
并且起初它看起来像是在工作但是在2次拖拽后坦克消失了
答案 0 :(得分:1)
尝试添加" Canvas"组件到您的预制件并检查"覆盖排序"并设置排序顺序。我想我还必须添加一个图形raycaster。
检查员: