
设置深度要用到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为什么在父物体绑定拖拽脚本,子物体也能拖拽等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)