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

 时间:2026-02-14 19:18:26

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怎么做

  • 如何在AE中添加CC Block Load并调整参数
  • AE怎样快速设置相位范围
  • quicktime无法安装怎么办?
  • QQ飞车如何获得C车-刺客
  • AE如何制作反向播放的视频
  • 热门搜索
    利润率怎么算 小米空气净化器怎么样 油烫伤后怎么处理 密码箱打不开怎么办 医保卡怎么用 我的世界黑曜石怎么做 婚姻介绍所怎么开 过敏性鼻炎怎么办 血压高怎么调理 大象英语怎么读