赞
踩
Chinar 的初衷是将一种简单的生活方式带给世人 使有限时间 具备无限可能 |
助力快速使用 UGUI 实现 下拉菜单 为初学者节省宝贵的时间,避免采坑! |
Chinar 教程效果:
UGUI 最初是没有下拉菜单的组件的
后来更新加入后,用起来方便,可快速创建大量选择项,无需开发者自己写脚本实现
1. 创建下拉菜单模板
右键层次列表→ UI → Dropdown
2. 设置属性
Unity 会自动帮我们创建一个下拉菜单的模板、并且添加好 Dropdown 组件,创建好我们需要的一切基本设置
我们需要做的就是,设置我们需要的属性、以及功能即可
这里提供一个便于理解的演示脚本,仅用于测试
贴心的 Chinar 为初学者提供了 动态添加监听事件的方法
如果 动态添加监听事件,外部就无需再做手动绑定添加了,否则会重复哦!
GameObject.Find("Dropdown").GetComponent<Dropdown>().onValueChanged.AddListener(ConsoleResult);
using UnityEngine; using UnityEngine.UI; /// <summary> /// Chinar例子脚本,用以输出 /// </summary> public class ChinarDemo : MonoBehaviour { void Start() { //贴心的 Chinar 为新手提供了 代码动态绑定的方法,如果通过代码添加监听事件,外部就无需再做添加 //GameObject.Find("Dropdown").GetComponent<Dropdown>().onValueChanged.AddListener(ConsoleResult); } /// <summary> /// 输出结果 —— 添加监听事件时要注意,需要绑定动态方法 /// </summary> public void ConsoleResult(int value) { //这里用 if else if也可,看自己喜欢 //分别对应:第一项、第二项....以此类推 switch (value) { case 0: print("第1页"); break; case 1: print("第2页"); break; case 2: print("第3页"); break; case 3: print("第4页"); break; //如果只设置的了4项,而代码中有第五个,是永远调用不到的 //需要对应在 Dropdown组件中的 Options属性 中增加选择项即可 case 4: print("第5页"); break; } } }
注意事项: |
---|
1. 手动添加监听事件,需绑定动态方法(Unity会自动生成) |
2. 设置自己需要的默认项,默认为 0 ,当下拉菜单弹起时,默认就是第一项 |
3. 下拉菜单的机制,就是已经被选中的选项,如果再次点击是不会调用函数方法的!!! (也就是说,你已经选择了第一页,再次点击第一页,是不会调用任何函数的)` |
点击运行测试
请认真看输出结果:某一页为选中状态时,再次点击是不会调用任何函数的
扩展 Dropdown 组件,开启被选择按钮,再次被点击仍然可执行回调函数
Chinar 提供一站式《零》基础教程 使有限时间 具备无限可能! |
Chinar 免费服务器、建站教程全攻略!( Chinar Blog )
本博客为非营利性个人原创,除部分有明确署名的作品外,所刊登的所有作品的著作权均为本人所拥有,本人保留所有法定权利。违者必究
对于需要复制、转载、链接和传播博客文章或内容的,请及时和本博主进行联系,留言,Email: ichinar@icloud.com
对于经本博主明确授权和许可使用文章及内容的,使用时请注明文章或内容出处并注明网址
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。