unity3d拖动窗口并实现遮挡ui怎么做

2025-11-18 09:30:58

1、打开unity3d通过“GameObject”--“UI”--“Panel”创建一个Panel面板。

unity3d拖动窗口并实现遮挡ui怎么做

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

unity3d拖动窗口并实现遮挡ui怎么做

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

unity3d拖动窗口并实现遮挡ui怎么做

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

unity3d拖动窗口并实现遮挡ui怎么做

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)  

{  

}  

}

unity3d拖动窗口并实现遮挡ui怎么做

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

unity3d拖动窗口并实现遮挡ui怎么做

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

unity3d拖动窗口并实现遮挡ui怎么做

unity3d拖动窗口并实现遮挡ui怎么做

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢