unity3d拖动窗口并实现遮挡ui怎么做
1、打开unity3d通过“GameObject”--“UI”--“Panel”创建一个Panel面板。

2、同样的方式创建两个Image作为窗口,设置不同的颜色,并设置为Panel的子物体。

3、在脚本文件夹中创建一个“Tuozhuai_test”脚本。

4、在脚本中创建两个变量offset作为偏移、siblingIndex遮挡数值(这个越大就会遮挡后面的窗口)。

5、然后在OnPointDown方法中设置当前窗口siblingIndex+1在顶层显示(因为只有两个窗口所以就这么处理了),并获得鼠标与窗口的偏移, 在OnDrag鼠标拖拽的时候设置窗口位置为鼠标位置加上偏移。
public class Tuozhuai_test: MonoBehaviour ,IDragHandler,IPointerDownHandler,IPointerUpHandler{
private Vector3 offset;
public static int siblingIndex=0;
public void OnDrag(PointerEventData eventData)
{
transform.position = Input.mousePosition+offset;
}
public void OnPointerDown(PointerEventData eventData)
{
offset = transform.position - Input.mousePosition;
transform.SetSiblingIndex (siblingIndex+1);
}
public void OnPointerUp(PointerEventData eventData)
{
}
}

6、回到场景,把脚本放在两个Image窗口上面。

7、运行游戏,我们现在就可以拖拽窗口,并且可以实现窗口的遮挡。

