浅谈Unity之Dropdown 控件用法

本文涉及的产品
模型训练 PAI-DLC,100CU*H 3个月
交互式建模 PAI-DSW,每月250计算时 3个月
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
简介: Dropdown 控件用法

前言:每日记录自己学习unity的心得和体会,小弟才疏学浅,如有错误的地方,欢迎大佬们指正,感谢~


1.下拉框创建出来


1. 你的数据如果是固定不变你就可以直接在(如下图)修改


2.直接上代码方法

void Start()

   {

       AddNames();

       UpdateDropdownView(listNames);

   }

//给下拉框动态添加名字

   private void AddNames()

   {        

       string s4 = "东邪";

       string s5 = "西毒";

       string s6 = "南帝";

       string s7 = "北丐";

       string s8 = "中神通";

     

       listNames.Add(s4);

       listNames.Add(s5);

       listNames.Add(s6);

       listNames.Add(s7);

       listNames.Add(s8);

   }

   //刷新下拉框显示

   private void UpdateDropdownView(List<string> showNames)

   {

       //清空下下拉框数据

       dropdown.options.Clear();

       Dropdown.OptionData tempData;

       for (int i = 0; i < showNames.Count; i++)

       {

           tempData = new Dropdown.OptionData();

           tempData.text = showNames[i];

           dropdown.options.Add(tempData);

       }

       //把第一条数据显示为默认

       dropdown.captionText.text = showNames[0];

   }

上面就是代码动态添加,根据自己需求使用,这只是修改了显示的数据,你肯定也需要绑定事件来触发效果

下面是绑定事件

void Start()

   {      

      dropdown.onValueChanged.AddListener(Change);      

   }

//给下拉框绑定事件

   private void Change(int index)

   {        

       switch (index)

       {

           case 0:              

               Debug.Log("这是黄老邪");

               break;

           case 1:

               Debug.Log("这是欧阳锋");

               break;

           case 2:

               Debug.Log("这是一灯大师");

               break;

           case 3:

               Debug.Log("这是洪七公");

               break;

           case 4:

               Debug.Log("这是王重阳");

               break;

           default:

               break;

       }      

   }

最后是完整代码,可以运行自行查看效果

using System.Collections;

using System.Collections.Generic;

using UnityEngine;

using UnityEngine.UI;

public class Rodem_rig : MonoBehaviour

{

   public Button exit_btn;    

   public Button queding_btn;

   public Dropdown dropdown;

   public List<string> listNames = new List<string>();

   // Start is called before the first frame update

   void Start()

   {

       AddNames();

       UpdateDropdownView(listNames);

       dropdown.onValueChanged.AddListener(Change);

       exit_btn.onClick.AddListener(delegate

       {

           Destroy_OBJ();

       });

   }

   //给下拉框绑定事件

   private void Change(int index)

   {        

       switch (index)

       {

           case 0:

               //

               Debug.Log("这是黄老邪");

               break;

           case 1:

               Debug.Log("这是欧阳锋");

               break;

           case 2:

               Debug.Log("这是一灯大师");

               break;

           case 3:

               Debug.Log("这是洪七公");

               break;

           case 4:

               Debug.Log("这是王重阳");

               break;

           default:

               break;

       }      

   }

   //给下拉框动态添加名字

   private void AddNames()

   {        

       string s4 = "东邪";

       string s5 = "西毒";

       string s6 = "南帝";

       string s7 = "北丐";

       string s8 = "中神通";

     

       listNames.Add(s4);

       listNames.Add(s5);

       listNames.Add(s6);

       listNames.Add(s7);

       listNames.Add(s8);

   }

   //刷新下拉框显示

   private void UpdateDropdownView(List<string> showNames)

   {

       //清空下下拉框数据

       dropdown.options.Clear();

       Dropdown.OptionData tempData;

       for (int i = 0; i < showNames.Count; i++)

       {

           tempData = new Dropdown.OptionData();

           tempData.text = showNames[i];

           dropdown.options.Add(tempData);

       }

       //把第一条数据显示为默认

       dropdown.captionText.text = showNames[0];

   }

 

   public void Destroy_OBJ()

   {

       Destroy(this.gameObject);

   }

}

这是打印效果

相关文章
|
数据可视化 图形学 流计算
Unity 操作常用控件(下)
Unity 操作常用控件(下)
105 0
|
编解码 前端开发 图形学
Unity 用脚本操作常用UI控件(上)
Unity 用脚本操作常用UI控件(上)
172 0
|
C# 图形学
Unity C# 《有限状态机》的用法教程详解
Unity C# 《有限状态机》的用法教程详解 有限状态机用法教程 本文提供全流程,中文翻译。 助力快速理解 FSM 有限状态机,完成游戏状态的切换 为新手节省宝贵的时间,避免采坑! 有限状态机简称: FSM —— 简称状态机 是表示有限个状态以及在这些状态之间的转移和动作等行为的数学模.
6310 0
|
图形学
Unity UGUI Layout自动排版组件用法介绍
Unity UGUI Layout自动排版组件用法介绍 助力快速理解 Unity UGUI Layout 布局组件的使用场景 本文提供全图文流程,中文翻译。 要将某个板块中的信息,图标给整理,整齐的进行排版 如果我们一个的把方块、或者这种长条形的Ui给逐个创建,工作量十分大,而且容易出错导致...
5132 0
|
图形学 开发者
Unity LOD-Level of Detail(多层次细节)用法教程
Unity LOD 多层次细节 本文提供全流程,中文翻译。 Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 —— 高分辨率用户请根据需求调整网页缩放比例) Chinar ——...
2597 0
|
图形学
Unity射线检测的用法总结
RayCast 射线检测 本文提供全流程,中文翻译。 Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 —— 高分辨率用户请根据需求调整网页缩放比例) Chinar —— 心分...
2799 0
|
图形学
Unity 项目中委托Delegate用法案例
Unity中Delegate的用法场景 本文提供全流程,中文翻译。 Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 —— 高分辨率用户请根据需求调整网页缩放比例) China...
1527 0
|
图形学
Unity 3D光源-Spot Light聚光灯用法详解、模拟手电筒、台灯等线性教程
Unity4大光源之聚光灯 本文提供全流程,中文翻译。 Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 —— 高分辨率用户请根据需求调整网页缩放比例) Chinar —— 心...
3637 0
|
测试技术 图形学 开发者
Unity 3D UGUI Toggle用法教程
UGUI Toggle用法教程 本文提供全流程,中文翻译。 Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 —— 高分辨率用户请根据需求调整网页缩放比例) Chinar ——...
3052 0
|
C# 图形学
Unity 3D开发-C#脚本语言的一些基础用法
Unity 中C#语言的一些基础用法 本文提供全流程,中文翻译。Chinar坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 —— 高分辨率用户请根据需求调整网页缩放比例) ...
1896 0

热门文章

最新文章