Unity3D UGUI下拉菜单/Dropdown组件用法、总结
Unity3D中UGUI实现下拉菜单
| 
本文提供全流程,中文翻译。 Chinar 坚持将简单的生活方式,带给世人! (拥有更好的阅读体验 —— 高分辨率用户请根据需求调整网页缩放比例)  | 
| 
 Chinar —— 心分享、心创新! 助力快速使用 UGUI 实现 下拉菜单 为新手节省宝贵的时间,避免采坑!  | 
Chinar 教程效果:
全文高清图片,点击即可放大观看 (很多人竟然不知道)
1
Create Layout —— 创建布局
UGUI 最初是没有下拉菜单的组件的
后来更新加入后,用起来方便,可快速创建大量选择项,无需开发者自己写脚本实现
创建页面布局
1. 创建下拉菜单模板
右键层次列表→ UI → Dropdown
即可完成一个下拉菜单的创建 
 
2. 设置属性
Unity 会自动帮我们创建一个下拉菜单的模板、并且添加好 Dropdown 组件
做好我们需要的一切
我们需要做的就是,设置我们需要的属性、以及功能即可
将我们的脚本、需要的选择项、UI选项设置好就可以用了 
 
2
ChinarDemo Script —— Chinar演示脚本
这里提供一个便于理解的演示脚本 
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;
        }
    }
}
3
Attentions —— 注意事项
注意事项:
 1.  
手动添加监听事件,需绑定动态方法(Unity会自动生成)
 2.  
设置自己需要的默认项,默认为0,当下拉菜单弹起时,默认就是第一项
 3.  
下拉菜单的机制,就是选中的选项,如果再次点击是不会调用方法的!!! 
(也就是说,你已经选择了第一页,再次点击第一页,是不会调用任何函数的) 
 
4
Test Result —— 测试结果
点击运行测试
请认真看输出结果,某一页为选中状态时,再次点击是不会调用任何函数的 
 
 
 至此:Dropdown的用法结束  
后期会出扩展、来匹配每个按钮都可用
支持
May Be —— 搞开发,总有一天要做的事!
| 
拥有自己的服务器,无需再找攻略! Chinar 提供一站式教程,闭眼式创建! 为新手节省宝贵时间,避免采坑!  | 
先点击领取 —— 阿里全产品优惠券 (享受最低优惠) 
1 ——  云服务器超全购买流程 (新手必备!) 
2 ——  阿里ECS云服务器自定义配置 - 购买教程(新手必备!) 
3——  Windows 服务器配置、运行、建站一条龙 ! 
4 ——   Linux 服务器配置、运行、建站一条龙 !
 
" role="presentation"> 
 技术交流群:806091680 ! Chinar    欢迎你的加入 
END
本博客为非营利性个人原创,除部分有明确署名的作品外,所刊登的所有作品的著作权均为本人所拥有,本人保留所有法定权利。违者必究 
对于需要复制、转载、链接和传播博客文章或内容的,请及时和本博主进行联系,留言,Email:  ichinar@icloud.com 
对于经本博主明确授权和许可使用文章及内容的,使用时请注明文章或内容出处并注明网址>
Unity3D UGUI下拉菜单/Dropdown组件用法、总结的更多相关文章
- Unity3D 重写下拉菜单/Dropdown组件、开启每个按钮可用
		
Override Dropdown Component 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) ...
 - Bootstrap 下拉菜单(dropdown)插件
		
使用下拉菜单的插件,您可以向任何组件(比如:导航栏,标签页,胶囊式导航,按钮)添加下拉菜单 用法 您可以切换下拉菜单(dropdown)插件隐藏内容 1.通过data属性,向链接或按钮添加data-t ...
 - Bootstrap下拉菜单
		
前面的话 网页交互的时候经常会需要上下文菜单或者隐藏/显示菜单项,Bootstrap默认提供了用于显示链接列表的可切换.有上下文的菜单.而且在各种交互状态下的菜单展示需要和javascript插件配合 ...
 - 第二百四十四节,Bootstrap下拉菜单和滚动监听插件
		
Bootstrap下拉菜单和滚动监听插件 学习要点: 1.下拉菜单 2.滚动监听 本节课我们主要学习一下 Bootstrap 中的下拉菜单插件,这个插件在以组件的形式我们 已经学习过,那么现在来看看怎 ...
 - 制作下拉菜单(PopupList)
		
怎样判断是否应当使用下拉菜单 下拉菜单,就是将一系列的选项隐藏,通过单击某一个控件将会弹出一个包含这些选项的列表,在其中选择想要的选项.这样做不但可以节省屏幕空间,也可以让用户在进行选择时更加方便快捷 ...
 - Bootstrap--下拉菜单.dropdown
		
下拉菜单.dropdown .dropdown <下拉菜单触发器button+下拉菜单ul> .dropdown 包裹层 .dropdown-toggle 下拉菜单触发器 data-to ...
 - 8.bootstrap下拉菜单、按钮组、按钮式下拉菜单
		
下拉菜单 dropdown 对齐方式: .dropdown-menu-right .dropdown-menu-left <div class="container" ...
 - CSS:CSS 下拉菜单
		
ylbtech-CSS:CSS 下拉菜单 1.返回顶部 1. CSS 下拉菜单 使用 CSS 创建一个鼠标移动上去后显示下拉菜单的效果. 下拉菜单实例 实例演示 1 实例演示 2 基本下拉菜单 当鼠标 ...
 - 封装dropdown模块(使用到之前写好的动画组件,封装下拉菜单)
		
用 showhide 改写dropdown 模块: 1.首先在 css中新增动画相关样式 /*showhide组件的样式*/ .fadeOut{ opacity:; visibility: hidde ...
 
随机推荐
- java 常用命令
			
#查看堆使用情况jmap -heap [pid]#查看占用内存高的对象jmap -histo:live [pid] | head -n 100#查看占用内存高的对象,dump成文件,线下分析jmap ...
 - 【转】Windows守护进程的一种简单实现
			
一讲到守护进程,很多人都想到了Linux系统,确实在Windows上这个说的比较少.今天上午群里有个朋友问我了下Windows下守护进程的实现问题,我想了想,简单用C++写了个小例子,用来实现系统开机 ...
 - linux文件管理 文件搜索
			
文件搜索命令find 'find [搜索范围] [搜索条件]' 搜索文件 find / -name install.log #避免大范围搜索,会非常消耗系统资源 #find是在系统当中搜索符合条件的文 ...
 - 尚学堂java 答案解析 第六章
			
本答案为本人个人编辑,仅供参考,如果读者发现,请私信本人或在下方评论,提醒本人修改 一.选择题 1.C 解析:对void下的函数,可以使用"return;"表示结束之意,但不能&q ...
 - jquery插件artTxtCount输入字数限制,并提示剩余字数
			
工作中用到,需要批量处理下 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http ...
 - ajax参数传递之[HttpGet]/[HttpPost]/[HttpPut]/[HttpDelete]请求
			
$.ajax({ type: "get", url: "http://localhost:27221/api/Charging/GetByModel", con ...
 - Object value iterator:值迭代器
			
// ES5 // 对于数组,使用标准的 for 循环,其实这种方式并不是在遍历值,而是遍历下标来指向值!ES5中增加了一些数组迭代器:forEach.every.some // forEach:遍历 ...
 - day18 类与类之间的关系
			
今日所学内容: 1.类与类之间的关系 2.self 到底是谁? 3. 特殊成员 : 1.类与类之间的关系 在我们的世界中事物和事物之前总会有一些联系 在面向对象中,类与类之间也可以产生相关的联系 1) ...
 - 不同生产商的CPU以及大端/小端对齐
			
● 不同生产商的CPU以及大端/小端对齐 ※ ARM.AMD.Atom和intel之间的关系 intel公司和AMD公司生产的是相同的x86架构的CPU,这种CPU属于CISC(Complex I ...
 - linux 创建安装redis服务
			
1.找下redis的官方的下载地址:http://download.redis.io/releases/redis-3.2.8.tar.gz 有最新的就下载最新 先下载解压跟安装 wget http ...