unity ugui怎么用代码改变层级关系

unity ugui怎么用代码改变层级关系,第1张

设置深度要用到NGUI的UIWidget 脚本,所以你要先获取到这这脚本才能更改深度,NGUI的UISprit、UIlabel、UITexture都继承了UIWidget 脚本 所以 你只需要这样获取到就可以 改深度了,如果是没有继承的话你也可以改,就是用gameobjectAddComponents<UIWidget >""这是给组件添加UIWidget 脚本,这样你就可以改深度值了 希望可以帮到你

这是一篇关于使用Unity新的UI系统制作对话框并实现动态加载的教程。

如图使用菜单新建一个Panel

此时会在Hierarchy自动生成一个Canvas对象及其子对象Panel,一个EventSystem对象,如图:

将Panel对象重命名为Dialog。如图设置将其Rect Transform的Anchor Preset设置为middle - center,将其width设置为300,height设置为150。

如上方法使用创建UI对象菜单依次为Dialog对象添加一个Text子对象,一个Button子对象。此时Hierarchy窗口如图所示:

将Text对象及Button对象的Rect Transform设置为如图所示:

Text:

Button:

其中这两个对象的文字部分设置为自己喜欢的即可。

这是完成后的Game窗口:

将Dialog对象选中并拖动到Resources/Prefabs文件夹中,并删除Hierarchy下的Dialog对象,为动态加载做准备。

在Scripts文件夹中新建C#脚本LoadDialogcs,并修改其Start函数:

在MainCamera中添加LoadDialog脚本。

最后运行程序,查看效果。

我已将我的工程文件上传至 github 以供参考,运行UGUIDialogunity即可。

—— Allen 丙申年正月廿八 于上海

如果你认真研究过UGUI的实现就会发现UGUI的事件过程:

射线检测所有穿透的物体-》2取出第一个被检测到的物体-》3 如果该物体有处理事件的方法则直接处理 如果没有则将事件传递给其父节点然后重复该步骤

解决方案:把你的父物体和子物体切断父子关系,使共一个空物体做父级就可以了,注意两个物体的前后关系

以上就是关于unity ugui怎么用代码改变层级关系全部的内容,包括:unity ugui怎么用代码改变层级关系、UGUI动态加载对话框、unity UGUI为什么在父物体绑定拖拽脚本,子物体也能拖拽等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9700669.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存